Очередь в столовой

시간 제한2초메모리 제한1024 MB

요약
최종 대기열 크기 n이 주어질 때, 가능한 최대 확장 단계 수 k와 각 단계에서 모든 사이 간격에 끼어든 학생 수 a_i를 구한다.
난이도

보통10점 중 7점

유형
정수론, 수학, 그리디, 구현
정답자
아직 제출이 없습니다

문제

Главный распорядитель столовой Галактической Школы Добра Иннокентий очень любит порядок. Но каждый день на Очень Большой Перемене, когда ученики направляются на обед, в его владениях воцаряется хаос.

Начинается всё вполне безобидно --- двое самых проворных школьников встают в очередь. Далее очередь расширяется в kk этапов. На ii-м этапе (1⩽i⩽k1 \leqslant i \leqslant k) в каждый промежуток между соседними школьниками, уже стоящими в очереди, вклинивается по a_ia\_i человек. Например, в случае k=2k = 2, a_1=3a\_1 = 3, a_2=1a\_2 = 1 после первого этапа расширения в очереди оказывается 5 человек, а после второго --- 9.

Несмотря на название учебного заведения, такие метаморфозы очереди не проходят без ссор и потасовок. Уставший от бардака Иннокентий твёрдо решил бороться с этим безобразием. Для того чтобы железной рукой наводить порядок, он хочет научиться выяснять, как происходил процесс расширения очереди, зная только итоговое число nn учеников в ней. Понимая, что по nn процесс не восстанавливается однозначно, Иннокентий хочет найти максимально возможное число этапов расширения очереди kk, а также соответствующий ему набор чисел a_ia\_i (1⩽i⩽k1 \leqslant i \leqslant k), обозначающих количества школьников, которые вклинивались между каждыми двумя соседями в очереди на каждом из этих этапов.

Количество воспитанников Школы, которые могут прийти в столовую, поистине огромно, поэтому за помощью в этом нелёгком деле Иннокентий обратился к вам.

입력

На вход программе подаётся одно целое число nn (3⩽n≤264−13 \leqslant n \leq 2^{64} - 1) --- итоговое число учеников в очереди.

출력

В первой строке выведите одно целое положительное число kk --- максимальное количество этапов расширения очереди. Во второй строке выведите через пробел kk целых положительных чисел a_ia\_i (1⩽i⩽k1 \leqslant i \leqslant k). В случае, если удовлетворяющих условию последовательностей a_ia\_i максимальной длины несколько, выведите любую из них.

힌트

В первом примере, очевидно, есть только одна возможность --- на первом шаге вклинивается два школьника.

Во втором примере процесс определён неоднозначно: один вариант развития событий с k=2k = 2 приведён в условии, однако максимально возможное число этапов расширения очереди равно трём.

예제2

  1. 예제 1

    입력
    4
    
    예상 출력
    1
    2
    
  2. 예제 2

    입력
    9
    
    예상 출력
    3
    1 1 1