Задача №421. Изображение таблицы

Максимальное время работы на одном тесте: 2 секунды

При разработке программ для просмотра веб-страниц одной из наиболее сложных задач является корректное отображение таблиц. Компания «Kozilla», в которой вы работаете, планирует разработать новую версию браузера «Waterrat» для работы в терминальном режиме и просит вас написать фрагмент ядра отображения веб-страниц, ответственный за формирование структуры таблиц.

Фрагмент, который вы должны написать, получает на вход информацию о количестве строк таблицы и ячейках этих строк и должен сгенерировать структуру таблицы и передать ее модулю, который занимается отображением таблицы на экране.

Таблица состоит из строк, каждая строка состоит из одной или нескольких ячеек, j-я ячейка i-й строки имеет ширину ai, j.

По заданным параметрам таблицы постройте символическое изображение ее структуры.

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

В первой строке вводится число n – количество строк в таблице ( 1<span class=\( le\)" width="16" height="28" border="0" align="middle">n<span class=\( le\)" width="16" height="28" border="0" align="middle">100). Каждая из следующих n строк  входных данных  описывает одну строку таблицы.

Описание  строки включает число mi – количество ячеек в этой строке, и mi целых чисел ai, 1, ai, 2,..., ai, mi – ширину каждой из ячеек строки ( 1<span class=\( le\)" width="16" height="28" border="0" align="middle">mi<span class=\( le\)" width="16" height="28" border="0" align="middle">10, 1<span class=\( le\)" width="16" height="28" border="0" align="middle">ai, j<span class=\( le\)" width="16" height="28" border="0" align="middle">20).

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

Выведите символическое изображение структуры таблицы.

Изображение i-й строки таблицы должно начинаться  горизонтальной линией, составленной из символов «+» (плюс) и «-» (минус). Затем должна следовать строка, содержащая пробелы и символы «|» (вертикальная черта). Первым символом строки должна быть вертикальная черта, затем ai, 1 пробелов, затем вертикальная черта, затем ai, 2 пробелов, и так далее, всего mi блоков пробелов. После последнего блока должна следовать вертикальная черта.

После последней строки таблицы также должна следовать горизонтальная линия.

В изображении горизонтальной линии используйте символ «+», если сверху или снизу от этой позиции находится вертикальная черта, и «-» в противном случае. Горизонтальная черта должна иметь минимальную возможную длину, чтобы над каждым символом вертикальной черты следующей строки и под каждым символом вертикальной черты предыдущей строки были символы «+».

Примеры
Входные данные
4
3 3 5 1
1 2
1 2
2 5 1
Выходные данные
+---+-----+-+
|   |     | |
+--++-----+-+
|  |
+--+
|  |
+--+--+-+
|     | |
+-----+-+
Сдать: для сдачи задач необходимо войти в систему