eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Экскурсия

Экскурсия

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