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