Задача №111183. Расписание турнира

Как известно, командные спортивные соревнования часто проводятся по круговой системе, когда любые две команды должны сыграть между собой ровно один матч. Круговой турнир проводится в несколько туров, в одном туре каждая команда может сыграть не более одного матча. Например, если в турнире участвуют 4 команды, то турнир можно провести в три тура: в первом туре команда 1 играет с командой 2, а команда 3 играет с командой 4, во втором туре 1 играет с 3, а 2 играет с 4, в третьем туре — 1 играет с 4, а 2 играет c 3.

Организаторам олимпиады Сочи-2014 необходимо организовать несколько командных турниров по круговой системе с участием различного числа команд. График олимпиады очень плотный, поэтому каждый турнир нужно провести в минимально возможное число туров. Для составления расписания каждого турнира они решили обратиться за помощью к программистам.

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

Во входном файле записано одно натуральное число N — количество команд, участвующих в турнире (2 ≤ N ≤ 100).

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

В первой строке выведите минимальное количество туров K, необходимых для проведения кругового турнира из N команд. Каждая из K следующих строк содержит описание одного тура. В начале строки выведите количество игр ni, которое необходимо сыграть в i-м туре. Далее идет ni пар чисел — команды, которые играют в этом туре. Команды, играющие между собой, разделяются символом «-» (минус), а разные игры разделяются пробелом.

Примеры тестов

Входные данные
4
Выходные данные
3
2 1-2 3-4
2 1-3 2-4
2 1-4 2-3
Входные данные
3
Выходные данные
3
1 1-2
1 2-3
1 3-1

Примечание

Online-группа тестов содержит тесты для N ≤ 10 и оценивается в 40 баллов.

Offline-группа тестов оценивается в 60 баллов.

Сдать: для сдачи задач необходимо войти в систему