Марсианская федерация автогонок ввела стандарт публикации результатов квалификационных заездов.
Согласно этому стандарту, стартовая решетка любого гран-при имеет вид таблицы, составленной по
определенным правилам. Правила оказались слишком сложными для хозяев автодромов, и они
попросили Вас написать программу для вывода этой таблицы.
В квалификационную сессию допускается N участников.
На марсианских гоночных трассах каждый стартовый ряд состоит из M позиций,
схема расположения которых на трассе такова:
Первая позиция находится в левой части трассы на уровне стартовой линии.
Внутри одного стартового ряда каждая последующая позиция находится правее и
дальше предыдущей на фиксированное расстояние.
Каждый следующий стартовый ряд формируется путем параллельного переноса предыдущего.
Из-за несоответствия некоторых гоночных болидов регламенту на старт выходят лишь
K ≤ N участников, при этом все они сохраняют свои стартовые позиции.
Правила публикации таблицы выглядят следующим образом:
Таблица разбита на блоки описания стартовых рядов.
Блоки разделены строкой из символов '=' (ASCII 61) во всю ширину таблицы.
Перед описанием ряда во всю ширину таблицы выводится заголовок — номер ряда и фраза 'starting line'.
После заголовка выводится строка из символов '-' (ASCII 45) и '+' (ASCII 43)
во всю ширину таблицы.
Далее следует информация о стартующих гонщиках данного ряда,
для ее вывода используются M строк и M столбцов.
Если гонщик занимает i-ое место в данном ряду, то его имя должно быть напечатано
на i-ой строке i-го столбца, если же гонщика не допустили к гонке, то эта ячейка пуста.
Если в ряду не оказывается ни одного гонщика, то блок с описанием этого ряда опускается.
Столбцы внутри ряда разделяются символами '|' (ASCII 124).
Граница всей таблицы состоит из символов '#' (ASCII 35).
Имена гонщиков и заголовки рядов выравниваются по центру с помощью пробелов.
Если строгого выравнивания достичь невозможно, то отступ слева должен быть на 1 меньше отступа справа.
Имена гонщиков и заголовки рядов отделяются от границ минимум одним пробелом слева и справа.
Все столбцы таблицы имеют равную, минимально возможную ширину.
Никакое имя гонщика не начинается с пробела и не заканчивается им.
Формат входного файла
Во первой строке входного файла содержатся числа K и M, в следующих 2*K строках
для каждого гонщика указано имя, а затем стартовая позиция.
Список отсортирован по возрастанию позиций.
Формат выходного файла
В выходном файле должна содержаться таблица с
описанием стартовой решетки по марсианским правилам.
Ограничения
1 ≤ N, M, K ≤ 100
Длина строки с именем гонщика не превосходит 100 символов.
Примеры тестов
№
Входной файл (input.txt)
Выходной файл (output.txt)
1
1 1
Michael Schumacher
1
######################
# 1 starting line #
#--------------------#
# Michael Schumacher #
######################