#TIMUS1683. 冰箱

冰箱

1683. 冰箱

时间限制: 0.5 秒
内存限制: 64 MB

有一次,伊万努什卡像往常一样躺在炉子上沉思。他想到了一个主意:他应该买一台冰箱。于是他买了一台冰箱,放在炉子旁边。但冰箱不稳,因为房子里的地板是木头的。伊万努什卡找到了解决办法。他决定在冰箱的一条腿下垫点东西,让它变稳。

伊万努什卡拿了一条宽 1 厘米、长 nn 厘米的纸条,开始折叠它,以便得到一个边长为 1 厘米、由 nn 层纸组成的正方形。正是这个厚度才能使冰箱稳定。伊万努什卡按照以下算法折叠纸条:他用尺子从纸条的左边缘量出一个整数厘米的长度,并将左边部分向右折叠(结果,左边缘向右移动了量出的厘米数)。然后他再次从新的左边缘量出一些厘米数,并将它们向右折叠。他重复这个操作,直到纸条变成 1 厘米长。

请确定伊万努什卡必须进行的最少折叠次数。

输入
给定整数 nn1n1091 \leq n \leq 10^9)。

输出
第一行输出获得所需层数所需的最少折叠次数。
第二行输出伊万努什卡在每次折叠前量出的长度序列(厘米)。数字之间用空格分隔。

样例
输入:

12

输出:

4
5 3 2 1