Johnny 收集玩具。他的收藏中可能包含许多不同类型的玩具:汽车、卡车、挖掘机等等。他可能拥有不止一个同种类型的玩具,例如四辆卡车,对他而言,这些玩具是无法区分的。
Emma 问 Johnny 他有多少个玩具。Johnny 不想透露这个秘密,于是用一个谜语回答了她(这是他的典型风格):如果我每天选择一套不同的玩具,我可以玩 $n$ 天。换句话说,对于任意两天,都存在一种玩具,其数量是不同的。在这里,Johnny 将空集也视为一套有效的玩具。
Emma 既不喜欢这个答案,也不喜欢这个谜语,但她非常好奇 Johnny 到底有多少个玩具。她请求你的帮助。你能确定 Johnny 收藏中玩具总数的全部可能性吗?
输入格式
标准输入的第一行(也是唯一一行)包含一个整数 $n$ ($1 \le n \le 10^9$)。
输出格式
第一行应包含一个整数 $r$,表示解的数量(即 Johnny 收藏中玩具总数的可能性数量)。
第二行应包含一个严格递增的 $r$ 个整数的序列,表示 Johnny 收藏中可能拥有的玩具总数。
样例
样例输入 1
12
样例输出 1
4 4 5 6 11
说明 1
Johnny 可能拥有: 两辆卡车、一辆汽车和一台挖掘机(总共 4 个玩具), 三辆卡车和两辆汽车(总共 5 个玩具), 五辆卡车和一辆汽车(总共 6 个玩具), 十一辆卡车(总共 11 个玩具)。
这些选项中的每一个都能保证正好 12 天的乐趣。例如,如果他有 11 辆卡车,他可以在第 $i$ 天(对于 $i = 1, \dots, 12$)选择 $i - 1$ 辆卡车。
样例输入 2
36
样例输出 2
8 6 7 8 10 11 13 18 35
说明 2
注意,有两种不同的 10 个玩具的组合可以保证 36 天的乐趣: 一辆卡车、一辆汽车和八台挖掘机, 五辆卡车和五台挖掘机。
尽管如此,输出中只包含其中一个。 为了得到总共 6 个玩具,Johnny 可以拥有一辆卡车、一辆汽车、两台挖掘机和两辆公交车。
子任务
测试集分为以下具有额外约束的子任务。每个子任务中的测试由一个或多个独立的测试组组成。每个测试组可能包含一个或多个测试用例。
| 子任务 | 数据范围 | 分值 |
|---|---|---|
| 1 | $n \le 50$ | 19 |
| 2 | $n \le 10\,000$ | 20 |
| 3 | $n \le 100\,000$ | 20 |
| 4 | $n \le 10^8$ | 20 |
| 5 | 无额外约束 | 21 |