Олимпиадный тренинг

Задача . D. Нарисуй скобки!


Скобочная последовательность квадратных скобок называется правильной, если путем вставки в нее символов «+» и «1» можно получить из нее корректное математическое выражение. Например, последовательности «[[]][]», «[]» и «[[][[]]]» — правильные, в то время как «][», «[[]» и «[[]]][» — нет.

Нарисуйте заданную последовательность с помощью минималистичной псевдографики в полоске наименьшей возможной высоты — используйте символы '+', '-' и '|'. Например, последовательность «[[][]][]» должна быть изображена в виде:


+- -++- -+
|+- -++- -+|| |
|| || ||| |
|+- -++- -+|| |
+- -++- -+

Каждая скобка должна быть изображена с помощью одного или более символа '|' (вертикальная часть) и символов '+' и '-' как на примере выше.

Скобки следует отрисовывать без промежутков одну за другой, лишь разделяя пары последовательных парных скобок полоской шириной в один пробел (чтобы не произошло визуального слияния двух скобок в один символ). Изображение должно иметь минимальную возможную высоту.

Вложенная скобка всегда меньше окружающей её, но каждая скобка отдельно стремиться занять максимальным образом высоту изображения. Так, пара заключительных скобок в примере выше занимает всю высоту изображения.

Внимательно изучите примеры ниже, они достаточным образом поясняют условие задачи. Обратите внимание, что в этой задаче ответ (картинка) строится однозначно единственным образом.

Входные данные

В первой строке следует целое чётное число n (2 ≤ n ≤ 100) — длина скобочной последовательности.

Во второй строке следует скобочная последовательность — это n символов «[» и «]». Гарантируется, что заданная скобочная последовательность является правильной.

Выходные данные

Выведите нарисованную скобочную последовательность в формате, описанном в условии. Не выводите лишних (ненужных) пробелов.


Примеры
Входные данныеВыходные данные
1 8
[[][]][]
+-        -++- -+
|+- -++- -+||   |
||   ||   |||   |
|+- -++- -+||   |
+-        -++- -+
2 6
[[[]]]
+-     -+
|+-   -+|
||+- -+||
|||   |||
||+- -+||
|+-   -+|
+-     -+
3 6
[[][]]
+-        -+
|+- -++- -+|
||   ||   ||
|+- -++- -+|
+-        -+
4 2
[]
+- -+
|   |
+- -+
5 4
[][]
+- -++- -+
|   ||   |
+- -++- -+

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя