F. Музей изобразительных искусств
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Студенты ВГУ не только участвуют в различных соревнованиях по программированию, но и посещают музеи. В этот раз в очередном городе Никита предложил сходить в музей изобразительных искусств. Из всех представленных картин ему больше всего понравились работы Ивана Шишкина. Вдохновлённый великим русским живописцем, Никита решил нарисовать свой шедевр в виде ASCII рисунка. Для того чтобы ASCII рисунок был шедевром, в нём должно быть следующее:

  1. Рисунок обрамлён прямоугольной рамкой, которая состоит из символов '+' по углам, '-' на горизонтальных границах и '|' на вертикальных границах.
  2. На рисунке изображено $$$n$$$ деревьев. Каждое дерево состоит из ствола и кроны, которые задаются параметрами $$$s_{i}$$$ и $$$t_{i}$$$. Ствол дерева состоит из $$$s_{i}$$$ символов '|', при этом самая нижняя часть ствола обязательно рисуется от нижней границы рамки. Деревья бывают трёх видов в зависимости от символа, из которого состоит крона дерева. Крона дерева представляет из себя равнобедренный треугольник с высотой $$$t_{i} + 1$$$ и основанием $$$2 \cdot t_{i} + 1$$$, который граничит с верхней частью ствола и состоит из одинаковых символов $$$c$$$. Ствол дерева при этом находится ровно посередине основания треугольника кроны. В зависимости от типа дерева символ $$$c$$$ равен '*', '+' или '#'. Для лучшего понимания, как рисуется дерево, обратите внимание на рисунок.
  3. Каждое дерево полностью помещается на рисунке, то есть рисунки деревьев и границы рамки не пересекаются, но могут касаться.
  4. Если два любых дерева касаются кронами, то они должны быть разных видов. Деревья $$$x$$$ и $$$y$$$ касаются кронами, если существует символ кроны, принадлежащий дереву $$$x$$$, у которого есть соседний по стороне символ кроны, принадлежащий дереву $$$y$$$.
  5. Прямоугольная рамка рисунка имеет минимальный периметр.
  6. Символы внутри рамки, которые не принадлежат ни одному из деревьев, – пробелы (то есть символ с ASCII кодом $$$32$$$).
Правильные рисунки деревьев.
Неправильные рисунки деревьев.
Правильный (слева) и неправильный (справа) ASCII рисунки.

По заданным $$$n$$$ деревьям скажите, как будет выглядеть шедевр Никиты!

Если существует несколько вариантов ответа, подходящих под все вышеописанные условия, то разрешается вывести любой.

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

Первая строка содержит одно целое число $$$n$$$ ($$$1 \le n \le 8$$$) – количество деревьев.

Следующие $$$n$$$ строк содержат по два целых числа $$$s_{i}$$$ и $$$t_{i}$$$ ($$$1 \le s_{i}, t_{i} \le 10$$$) – параметры $$$i$$$-го дерева.

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

Выведите ASCII рисунок.

В выходных данных не должно быть лишних символов, которые не принадлежат рисунку!

Примеры
Входные данные
3
1 1
2 2
3 3
Выходные данные
+-----------+
|   +       |
|  +++      |
| +++++  *  |
|+++++++*** |
| # |  *****|
|###|    |  |
| | |    |  |
+-----------+
Входные данные
4
1 1
1 1
1 1
1 1
Выходные данные
+------------+
| +  *  +  * |
|+++***+++***|
| |  |  |  | |
+------------+