eolymp
bolt
Try our new interface for solving problems
Problems

Парк

Парк

\includegraphics{https://static.e-olymp.com/content/63/63ea3f480374d52a6d5ff78cd9eab2b8e711018c.jpg} Перед выборами мэр города решил основать парк отдыха. Для этого в центре города была освобождена площадка, которая имеет форму равностороннего треугольника. За победу в выборах соревнуются \textbf{N} политических партий. Чтобы подчеркнуть свою независимость, мэр распорядился посадить в парке деревья \textbf{N} различных цветов. Деревья должны быть расположены в узлах треугольной сетки (см. рисунок) на одинаковом расстоянии одно от другого. В каждом ряду, который параллелен одной из сторон треугольника, должны расти деревья попарно различных цветов, внешние стороны площадки должны содержать ровно \textbf{N} деревьев, т.е. деревья всех цветов. Написать программу PARK, которая будет находить одно из возможных расположений деревьев в парке. \InputFile Входной файл в первой строке содержит количество тестов. Каждая следующая строка содержит одно целое число \textbf{N} -- количество видов (цветов) деревьев, которые необходимо посадить в парке (\textbf{3} ≤ \textbf{N} ≤ \textbf{100}). \OutputFile Выходной файл должен содержать ответы для всех тестов из входного файла в том же порядке. Для каждого теста нужно выдать либо единственную строку с числом \textbf{0}, если расположение невозможно, или \textbf{N} строк, первая из которых содержит одно число, вторая --- два числа, \textbf{N}--я --- \textbf{N} чисел --- номеров цветов деревьев в расположении. Цвета нумеруются натуральными числами от \textbf{1} до \textbf{N}.
Time limit 1 second
Memory limit 64 MiB