Текстовый редактор
Просмотр в формате PDFСтудент набирает текст в простом текстовом редакторе.
Редактор хранит одну строку текста и позицию курсора — целое число от 0 до текущей длины строки включительно. Позиция 0 означает, что курсор стоит перед первым символом, а позиция, равная длине строки, — после последнего символа.
Изначально строка пуста, курсор находится в позиции 0. Также в редакторе есть буфер обмена, который изначально пуст.
Поддерживаются следующие команды:
INS c— вставить символcв позицию курсора, после чего курсор сдвигается на одну позицию вправо.LEFT— если курсор не находится в позиции0, сдвинуть его на одну позицию влево.RIGHT— если курсор не находится в конце строки, сдвинуть его на одну позицию вправо.BS— если курсор не находится в позиции0, удалить символ непосредственно слева от курсора, после чего курсор сдвигается на одну позицию влево.DEL— если курсор не находится в конце строки, удалить символ непосредственно справа от курсора. Положение курсора при этом не меняется.HOME— переместить курсор в позицию0.END— переместить курсор в конец строки.COPY l r— скопировать в буфер обмена подстроку текущего текста с позицийl..r-1. Предыдущее содержимое буфера обмена полностью заменяется. Еслиl == r, в буфер записывается пустая строка.PASTE— вставить содержимое буфера обмена в позицию курсора. После этого курсор сдвигается вправо на длину вставленного текста.
Если команда не может быть выполнена, она просто игнорируется, и состояние редактора не меняется. Например, так происходит для команды LEFT в позиции 0 или для команды COPY, если диапазон выходит за границы текущей строки.
Требуется выполнить все команды и вывести итоговое содержимое строки.
Входные данные
В первой строке задано целое число q — количество команд.
В следующих q строках записано по одной команде в одном из форматов, описанных выше.
Для команды INS c символ c — произвольный печатаемый символ ASCII с кодом от 33 до 126, кроме пробела.
Для команды COPY l r числа l и r — целые, 0 <= l <= r <= 10^9. Если для текущей строки диапазон копирования некорректен, команда игнорируется.
Выходные данные
Выведите итоговую строку после выполнения всех команд.
Если строка пуста, выведите пустую строку.
Ограничения
1 <= q <= 2 * 10^5- В любой момент времени суммарная длина текста не превышает
10^6символов.
Примеры
Пример 1
Входные данные
1
INS a
Выходные данные
a
Пример 2
Входные данные
6
INS a
INS b
LEFT
INS X
RIGHT
INS c
Выходные данные
aXbc
Комментарии