Məsələlər
Прямоугольник
Прямоугольник
Напишите программу, которая определит, как в последовательности прямоугольников образовать последний из остальных прямоугольников склеиванием их вдоль сторон без разрезаний и без перекрытий внутренними частями.
\InputFile
Содержит натуральное число \textbf{n} (\textbf{n} < \textbf{15}), а далее - последовательность из (\textbf{n} + \textbf{1})-ой пары натуральных чисел, которые являются длинами и высотами соответствующих прямоугольников. Площади всех прямоугольников не превосходят \textbf{1234567890}.
\OutputFile
Расположим (\textbf{n} + \textbf{1})-ый прямоугольник таким образом, чтобы начало координат было вершиной прямоугольника, одна сторона - высота принадлежала оси ординат, а все внутренние точки лежали в первой четверти декартовой плоскости. Каждая выводимая строка должна содержать \textbf{n} четверок неотрицательных целых чисел, которые взаимно однозначно описывают соответствующую склейку.
Первые два числа такой четверки - это координаты нижней левой вершины прямоугольника, третье число - его номер, последнее число \textbf{1} или \textbf{0} в соответствии с тем, повернут ли на \textbf{90°} этот прямоугольник или нет.
Строки следует записать в лексикографическом порядке, а в каждой строке четверки чисел также следует расположить в лексикографическом порядке.
Если склейка невозможна, то вывести два слова: "\textbf{No solution}".
Giriş verilənləri #1
2 3 2 5 3 7 3
Çıxış verilənləri #1
0 0 1 1 2 0 2 0 0 0 2 0 5 0 1 1