Ограничения: время – 250ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод 
Послать решение Blockly Посылки Темы Где Обсудить (0)
Помимо многочисленных стихов, лучший друг Геральта бард Лютик оставил после себя и монументальные мемуары «Полвека поэзии». Написав черновик, Лютик начал вставлять в текст многочисленные дополнения, выделяя их какими-нибудь (по своему настроению, он ведь творческая натура) скобками: (так), {так}, [так] или даже <так>. Со временем новые дополнения стали добавляться и внутрь прежних, и даже внутрь дополнений к дополнениям к дополнениям, и так далее.
К сожалению, помимо поэтического дара, Лютик отличался еще и феноменальной рассеянностью. Поэтому он легко мог написать вместо открывающей скобки соответствующую ей закрывающую, и наоборот. К счастью, поэт хотя бы не путал между собой разные виды скобок (круглые, квадратные, угловые и фигурные). Увидев итоговый текст, редактор пришел в ужас: разобрать что-либо в мешанине дополнений было совершенно невозможно. Чтобы сохранить для потомков историю Геральта, помогите редактору восстановить хотя бы правильную последовательность скобок.
В первой строке входных данных содержится единственное целое число `N` — количество скобок в тексте (`2 <= N <= 10^5`). Во второй строке находится `N` символов, каждый из которых является одним из 8 видов скобок: ``(){}[]<>``. Гарантируется, что строка получена из правильной скобочной последовательности заменой какого-то количества (возможно, нулевого) открывающих скобок на соответствующие им закрывающие, либо наоборот.
Выведите строку из `N` символов: правильную скобочную последовательность, из которой можно получить исходную с помощью описанных выше замен. Если существует несколько решений, выведите любое.
```sample Пример ввода 1
10
)[{][{[]](
```
```sample Пример вывода 1
([{[]}][])
```
```sample Пример ввода 2
10
()([]){<>}
```
```sample Пример вывода 2
()([]){<>}
```