Codeforces Round 350 (Div. 2) |
---|
Закончено |
Недавно Поликарп взялся за разработку текстового редактора правильных скобочных последовательностей (сокращенно ПСП). Напомним, что скобочная последовательность называется правильной, если путем вставки в нее символов «+» и «1» можно получить из нее корректное математическое выражение. Например, последовательности «(())()», «()» и «(()(()))» — правильные, в то время как «)(», «(()» и «(()))(» — нет. Каждая скобка в ПСП имеет парную ей. Например, в «(()(()))»:
Редактор Поликарпа пока поддерживает лишь три операции при работе с ПСП. Курсор в редакторе занимает целиком позицию одной из скобок (а не позицию между скобками!). Вот три поддерживаемых операции:
После операции «D» курсор перемещается на ближайшую скобку вправо (конечно, среди неудалённых). Если такой нет, то есть был удалён суффикс строки, то на ближайшую скобку влево (конечно, среди неудалённых).
Ниже приведены рисунки нескольких возможных вариантов операции «D».
Всевозможные некорректные операции (сдвиг курсора за границы строки, удаление всей строки) пока Поликарпом не поддержаны.
Поликарп очень гордится своей разработкой, а сможете ли вы реализовать функциональность его редактора?
В первой строке выходных данных следует три целых положительных числа n, m и p (2 ≤ n ≤ 500 000, 1 ≤ m ≤ 500 000, 1 ≤ p ≤ n) — количество скобок в правильной скобочной последовательности, количество операций, а также начальная позиция курсора. Позиции в последовательности нумеруются слева направо, начиная с единицы. Гарантируется, что n чётно.
Далее следует строка из n символов «(» и «)» — правильная скобочная последовательность.
Далее записана строка из m символов «L», «R» и «D» — последовательность операций. Операции выполняются по очереди одна за другой от первой до последней. Гарантируется, что заданные операции никогда не выведут курсор за пределы скобочной последовательности, а также то, что после выполнения всех операций скобочная последовательность останется непустой.
Выведите правильную скобочную последовательность, полученную в результате выполнения всех операций.
8 4 5
(())()()
RDLD
()
12 5 3
((()())(()))
RRDLD
(()(()))
8 8 8
(())()()
LLLLLLDD
()()
В первом тестовом примере изначально курсор находится в позиции 5. Рассмотрим действия редактора подробнее:
Таким образом, ответ равен ().
Название |
---|