神奇的数列

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

一位数学家,他有一天发现了一个很有趣的数列,这个数列有一个很有趣的性质:a1=1,对于其他数列中的数ak=ai+aj(1<=i<=j<=n),现在给出数列的最后一个数an,求使n最小的数列。

Input

输入数据只有1行,只有一个整数an

Output

输出数据的第1行输出n。第2行输出数列,每个数之间有且仅有一个空格。

Sample Input

4

Sample Output

3
1 2 4

Hint

Source