Экскурсии под руководством Ивана Петровича проходят всегда очень организованно. Ивану Петровичу особенно нравятся построения в форме квадрата, так как если какой-то школьник отстанет от группы, его отсутствие в квадрате является более заметным, чем при использовании построения в форме шеренги и колонны по одному. Поэтому школьники разбиваются на несколько групп, для которых возможно построение в форме квадрата. Чтобы разные группы были хорошо различимы визуально, требуется, чтобы в разных группах было разное число школьников. Из 100 школьников можно сделать одну группу 10×10, или две группы 6×6 и 8×8, но лучше с точки зрения Ивана Петровича сделать 5 групп 1×1, 3×3, 4×4, 5×5 и 7×7.
Напишите программу, которая находит разбиение N школьников на группы в форме квадратов, среди которых нет двух одинаковых по количеству. Количество групп в разбиении должно быть как можно больше.
В первой строке ввода содержится одно целое число N (1 ≤ N ≤ 10^5) – число школьников, отправляющихся на экскурсию.
Если разбиение найдено, то вывести в первой строке количество групп в разбиении, а во второй строке – в порядке возрастания размеры стороны квадратных групп. Если существует несколько разбиений с максимальным количеством групп, то вывести любое. Если разбиения не существует, в первой строке вывести 0.