Задачі
Перетворювач рядків
Перетворювач рядків
\textit{Перетворювач рядків} - спеціальна програма, яка отримує на вхід рядок і видає на вихід також рядок. У процесі опрацювання до деяких підрядків заданого рядка застосовуються операції двох типів:
\begin{itemize}
\item розворот (позначається символом \textbf{R}) - з рядка \textbf{S_1S_2...S_\{n-1\}S_n} отримується рядок \textbf{S_nS_\{n-1\}...S_2S_1};
\item сортування (позначається символом \textbf{S}) - з рядка \textbf{S_1S_2...S_\{n-1\}S_n} отримується рядок, який містить ті ж символи, але відсортовані у порядку неспадання їх номерів по алфавіту. Наприклад, з рядка \textbf{hello} отримається рядок \textbf{ehllo}.
\end{itemize}
Задано рядок і послідовність операцій над деяки його підрядками. Необхідно визначити результат застосування цих операцій.
\InputFile
Перший рядок вхідного файлу містить заданий рядок. Він не порожінй, складається лише з рядкових літер латинського алфавіту. Його довжина \textbf{m} не перевищує \textbf{200} символів. Другий рядок вхідного файлу містить кількість операцій \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{200}).
Кожен з насиупних \textbf{n} рядків містить опис однієї операції. Опис операції має формат \textbf{OP L R}, де \textbf{OP} - символ, що позначає операцію, \textbf{L} - позиція першого символу підрядка, до якого застосовується операція, \textbf{R} - позиція його останнього символу (\textbf{1} ≤ \textbf{L} ≤ \textbf{R} ≤ \textbf{m}). Якщо до застосування операції опрацьовуваний рядок мав вид \textbf{S_1S_2...S_m}, то після застосування операції він буде мати вид \textbf{S_1...S_\{L-1\}OP(S_L...S_R)S_\{R+1\}...S_m}, де \textbf{OP(S_L...S_R)} - результат застосування описаної операції до рядка \textbf{S_L...S_R}.
\OutputFile
У вихідний файл виведіть результат застосування до заданого рядка усіх перерахованих у вхідному файлі опреацій.
Вхідні дані #1
helloworld 2 S 1 5 R 6 10
Вихідні дані #1
ehllodlrow