Кенгуренок находится в точке 0 координатной прямой, он хочет попасть в точку x. Для этого он выбирает некоторое число k и совершает k прыжков: первый прыжок на расстояние 1, второй на расстояние 2, ..., последний на расстояние k. Каждый прыжок можно сделать либо в одну, либо в другую сторону прямой. То есть, на i-м прыжке можно переместиться из точки a в точку a−i или кенгуренку добраться до точки x за минимальное число прыжков.
Входные данные
Ввод содержит одно целое число x (1≤x≤10000).
Выходные данные
В первой строке выведите число k — минимальное число прыжков, которое можно сделать. В следующих k строках выведите точки, в которые должен прыгать кенгуренок (последняя точка должна быть равна x).
Примеры
входные данные
5
выходные данные
5
-1 1 4 0 5
Математическая модель (а также программа; зависит от того, что понимать под этапом формализации).
В учебнике выделяют такие этапы решения задачи на компьютере:
Исходные данные (результат - словесная информационная модель)Формализация (математическая модель)Алгоритмизация (алгоритм)Программирование (программа)Отладка, тестирование (уточнение модели)Выполнение расчетов (получение результатов)Нормальные люди понимают, что после формализации информация должна быть представлена на формальном языке, таких языком может быть как математический, так и язык программирования.