Клубы
Жители города X любят вступать в разные клубы. За последние годы число клубов в городе сильно увеличилось, и теперь там много клубов, в которых состоят одни и те же участники. Правительство города решило, что пора навести порядок с клубами. Было принято решение, что система клубов в городе должна удовлетворять следующему требованию:
Для каждой пары жителей города должен быть хотя бы один клуб, такой что один из жителей в паре является членом этого клуба, а другой - нет.
Житель города может быть членом произвольного числа клубов, в частности может вообще не состоять в клубах.
Поскольку содержать клубы стоит денег, общее количество клубов должно быть минимально. Кроме того, члены каждого клуба собираются на общие встречи, а больших залов в городе нет. Поэтому после минимизации числа клубов, необходимо добиться того, чтобы количество членов в максимальном по количеству членов клубе должно быть минимально (в городе, разумеется, может быть несколько клубов с максимальным количеством членов).
В городе n жителей, пронумерованных от 1 до n.
Напишите программу, которая определит минимальное количество клубов, которое удовлетворяет первому условию. Также программа должна для каждого клуба назначить его членов, так, чтобы первое условие выполнялось и максимальное количество членов в одном клубе было как можно меньше. Если возможных решений несколько, можно вывести любое из них.
Входные данные
Одно число n (2 ≤ n ≤ 10^5
) - количество жителей в городе X.
Выходные данные
На первой строке выведите два целых числа, разделенных пробелом - минимальное количество клубов и минимальное возможное количество членов в самом большом клубе.
Далее для каждого клуба следует вывести строку чисел, разделенных пробелами – первое число должно быть равно количеству членов клуба, а затем должны быть перечислены номера жителей, которые будут членами клуба. Номера жителей могут быть перечислены в любом порядке.
Примеры
Примечание
Можно удовлетворить первое требование, используя не менее трех клубов, при этом в максимальном по размеру клубе два члена. Первое требование можно также выполнить, например, таким распределением жителей по трем клубам: {2, 4, 5}, {3, 4} и {5}, но это не оптимальный ответ, поскольку в этом случае в максимальном клубе три члена.