Задача №1898. Кролик
— Кролик! Кролик написал, — радовался юный учёный Вася, рассматривая результаты тестирования программы, написанной представителем специально выведенной им породы кроликов-программистов. (Программа решала известную участникам сборов задачу про енотов и ягоды.)
— Твой кролик, конечно, написал, — заметил васин коллега Петя, — но разве это оптимальное решение? Ведь ты не тестировал программу на максимальном тесте.
Стоит отметить, что Вася гораздо лучше разбирается в биологии и генетике, чем в программировании. Поэтому создать максимальный тест к этой задаче для него не так просто. Попробуйте решить эту проблему за него.
Напомним, что в качестве основного параметра исходной задаче передаётся разбиение числа \(X\) на слагаемые. Подразбиением назовём такое разбиение числа \(Y \le X\) на слагаемые, что его можно получить, вычитая из элементов оригинального разбиения натуральные числа и/или меняя местами эти элементы.
Требуется найти такое разбиение числа \(X\) на слагаемые, которое имеет максимальное число подразбиений. Подразбиения, отличающиеся порядком элементов, не различаются.
Единственная строка ввода содержит единственное целое число \(X\) (\(1 \le X \le 75\)).
На первой строке выведите максимальное число подразбиений, на второй — количество \(N\) элементов в нём. На третьей строке выведите \(N\) натуральных чисел, дающих в сумме \(X\) — оптимальное разбиение.
У разбиения \((3,2,1)\) есть следующие подразбиения:
* Одно с суммой 6: \((3,2,1)\).
* Три с суммой 5: \((3,1,1)\), \((2,2,1)\), \((3,2)\).
* Три с суммой 4: \((2,1,1)\), \((3,1)\), \((2,2)\).
* Три с суммой 3: \((1,1,1)\), \((2,1)\), \((3)\).
* Два с суммой 2: \((1,1)\), \((2)\).
* Одно с суммой 1: \((1)\).
* Одно с суммой 0: \(()\)
Всего таких подразбиений 14.
6
14 3 3 2 1