编程题
### 问题描述
魔兽王国里的国王养了一只魔兽,今天,国王获得了 $m$ 点经验值,他打算根据魔兽的需求将一部分经验值给它。
国王准备了若干只经验袋,他打算将经验值数好并用一个个的经验袋装好,以便在他现有经验值的给予能力下,魔兽所需的任何数目的经验值他都能用这些封闭好的经验袋的组合来给予。
国王非常节俭,他希望自己在满足上述要求的前提下,所用到的经验袋最少,并且没有两个钱袋装有相同的大于 $1$ 的经验值。
国王想请你帮他求出,对于他的 $m$ 点经验值,他最少使用多少经验袋,并且每个经验袋装有多少经验值。
### 输入格式
输入包含一个整数 $m$,含义见上文。
### 输出格式
输出包含两行,第一行包含一个整数 $h$,表示所用经验袋的个数。
第二行表示每个经验袋所装的经验值,按从小到大输出。
### 样例输入
```
3
```
### 样例输出
```
2
1 2
```
### 评测数据规模
对于所有评测数据,$1\leq{m}\leq{10^9 }$。