问题 3567 --C数列

3567: C数列

题目描述

  话说某天,我们的主人公Cici同学不小心被外星人抓住了...
当然就要我们的英雄Sivon同学出场了...
(小说都是这样设计的...)
外星人的囚禁所里有许许多多的机关。这些机关都需要一些特定的密码来解除。主人公Sivon同学对密码学有很深的研究,所以一开始他没费吹灰之力就破解了不少机关。但是到了某条路上,他再一次遇到了麻烦...  
问题是这样的:一个数列A,A1=1,对于数列当中其它的数,都满足于Ak=Ai+Aj(1<=i<=j<=n),现在给出数列的最后一个数An,求使n最小的数列。

输入

输入数据只有一行,是一个整数An。(An< =1000)

输出

在文件的第一行输出n。 第二行输出数列,每两个数之间有且仅有一个空格。

样例输入输出

输入#1 复制
4
输出#1 复制
3
1 2 4

提示

序号 标题 作者 发表时间 费用 订购数 操作