Два друга решили создать язык программирования, назвали они его Perse-script.
Важная часть языка — строки. Строки в Perse-script записываются в кавычках (")
Например, "Hello" — константная строка. Но Hello — имя переменной или зарезервированное слово, которые мы не рассматриваем в этой задаче.
Perse-script — функциональный язык, в нем нет операторов. Например, чтобы сложить два числа нужно написать sum(a,b), а не a+b.
В языке есть несколько команд для работы со строками:
- concat(x,y) возвращает конкатенацию («склейку») двух строк x и y. Например, concat("Hello","World") возвращает "HelloWorld".
- reverse(x) возвращает перевернутую строку x. Например, reverse("Hello") возвращает "olleH".
- substr(x,a,b) принимает строку x и два целых числа a и b (1 ≤ a ≤ b ≤ n, где n — длина строки x). Возвращает подстроку x с индекса a по индекс b, включительно. Например, substr("Hello",2,4) возвращает "ell".
- substr(x,a,b,c) — другая версия substr, которая получает подстроку с шагом c. c всегда положительно. Например, substr("HelloWorld",1,10,2) возвращает "Hlool". Более точно: изначально ответ пуст. Эта функция добавляет в ответ a-ый символ, а затем каждый c-ый считая от него, и так до b.
Вы собираетесь реализовать работу со строками в Perse-script. Дано выражение, выведите его результат. Гарантируется, что все функции в качестве аргументов содержат только константные строки, записанные в кавычках, и перечисленные выше строковые функции.
Названия функций Perse-script регистронезависимы. Так, чтобы вызвать substr можно написать SUBsTr(). Но нельзя писать "hElLo" вместо "Hello".
Для дальнейшего разъяснения смотрите примеры.
Выходные данные
В единственной строке выведите результат. Гарантируется, что ответ существует, и его длина не превосходит 104. Гарантируется, что ответ не является пустой строкой.