eolymp

3-раскраски

В этой задаче нет входных данных. Обратите внимание, что Вам следует отправить код, который печатает вывод, а не текстовый файл.

Допустимая 3-раскраска графа - это присвоение цветов (чисел) из набора {1, 2, 3} каждой из n вершин таким образом, что для любого ребра (a, b) графа вершины a и b имеют другой цвет. Таких раскрасок для графа с n вершинами не более 3n.

Вы работаете в компании, стремясь стать специалистом по созданию графов с заданным количеством 3-раскрасок. Однажды Вы узнаете, что вечером получите заказ на изготовление графа ровно с 6k 3-раскрасками. Вы не знаете точное значение k, только то что 1k500.

Вы не хотите ждать конкретного значения k чтобы начать строить граф. Вы заранее строите граф, содержащий не более 19 вершин. Затем, изучив конкретное значение k, Вы можете добавить не более 17 ребер, чтобы получить требуемый граф с ровно 6k 3-раскрасками.

Сможете ли Вы сделать это?

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

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

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

Сначала выведите n и m (1n19, 1mn * (n - 1) / 2) - количество вершин и ребер исходного графа (построенного заранее). Затем выведите m строк в виде (u, v) - ребра графа.

Затем для каждого k от 1 до 500 выполните следующие действия:

Выведите e - количество ребер, которое Вы добавите для этого конкретного k (1e17). Затем выведите e строк в виде (u, v) - ребра, которые будут добавлены в граф.

В графе не должно быть петель, и для каждого k все m + e ребер, которые Вы используете, должны быть попарно различными. Количество 3-х раскрасок графика для конкретного k должно быть ровно 6k.

Пример

В примере показан ответ для k = 1, 2.

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
Вихідні дані #1
3 2
1 2
2 3
1
1 3
0
Джерело 2020 SEERC South Eastern European Regional Programming Contest, Винница и Бухарест, Май 23, Задача C