При разработке программ для просмотра веб-страниц одной из наиболее сложных задач является корректное отображение таблиц. Компания <<Kozilla>>, в которой вы работаете, планирует разработать новую версию браузера <<Waterrat>> для работы в терминальном режиме, и просит вас написать фрагмент ядра отображения веб-страниц, ответственный за формирование структуры таблиц.
Фрагмент, который вы должны написать, получает на вход информацию о количестве строк таблицы и ячейках этих строк и должен сгенерировать структуру таблицы и передать ее модулю, который занимается отображением таблицы на экране.
Таблица состоит из строк, каждая строка состоит из одной или нескольких ячеек, \(j\)-я ячейка \(i\)-й строки имеет ширину \(a_{i,j}\).
По заданным параметрам таблицы постройте символическое изображение ее структуры.
Формат входных данных
Первая строка содержит \(n\) — количество строк в таблице (\(1 \le n \le 100\)). Следующие \(n\) строк входного файла содержат описание строк таблицы.
Описание каждой строки включает число \(m_i\) — количество ячеек этой строки, и \(m_i\) целых чисел \(a_{i,1}, a_{i,2}, \dots, a_{i,m_i}\) — ширину каждой из ячеек строки (\(1 \le m_i \le 10\), \(1 \le a_{i,j} \le 20\)).
Формат выходных данных
Выведите символическое изображение структуры таблицы.
Изображение \(i\)-й строки таблицы должно начинаться изображением горизонтальной линии, составленным из символов <<+
>> (плюс) и <<-
>> (минус). Затем должна следовать строка, содержащая пробелы и символы <<|
>> (вертикальная черта). Первым символом строки должна быть вертикальная черта, затем \(a_{i,1}\) пробелов, затем вертикальная черта, затем \(a_{i,2}\) пробелов, и так далее, всего \(m_i\) блоков пробелов. После последнего блока должна следовать вертикальная черта. После последней строки таблицы также должно следовать изображение горизонтальной линии.
В изображении горизонтальной линии используйте символ <<+
>>, если сверху или снизу от этой позиции находится вертикальная черта, и <<-
>> в противном случае. Горизонтальная линия должна иметь минимальную возможную длину, чтобы над каждым символом вертикальной черты следующей строки и под каждым символом вертикальной черты предыдущей строки были символы <<+
>>.
Примеры
№ | Входные данные | Выходные данные |
1
|
4 3 3 5 1 1 2 1 2 2 5 1
|
+---+-----+-+
| | | |
+--++-----+-+
| |
+--+
| |
+--+--+-+
| | |
+-----+-+
|