Кенгуренок находится в точке 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
Объяснение:
Учитель при может подготовить к уроку дополнительный и раздаточный материал и распечатать его на принтере в требуемом количестве экземпляров, создать отчет о своей работе и т.д.
Конструкторы при текстового процессора могут подготовить проекты различных зданий, сооружений, конструкций.
Врачи могут заполнять регистрационные карточки больных, также вести всю документацию в организации лечебных учреждений.
Дизайнеры могут воспользоваться текстовым процессором для создания моделей, дизайнерских предложений, проектов.
Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина ис- ходной цепочки символов; если она нечётна, то дублируется средний символ цепочки символов, а если чётна, то в середину цепочки добавляется буква А. В полученной цепочке символов каждая буква заменяется буквой, следующей за ней в русском алфавите (А - на Б, Б - на В и т. д., а - на А). Получившая- ся таким образом цепочка является результатом работы алгоритма. Например, если исходной была цепочкот, то результатом рабо- ты алгоритма будет цепочка ЛППУ, если исходной была цепоч- ка ВАНЯ, то результатом работы алгоритма будет цепочка ТГБОА. Дана цепочка символов САН. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (т. е. применить алгоритм к данной цепочке, затем к результату вновь при- алфавит: Русский алгоритм)? менить