#CF1091C. New Year and the Sphere Transmission

New Year and the Sphere Transmission

New Year and the Sphere Transmission

题目描述

有 nn 个人围成一圈坐着,按照座位顺序编号为 11 到 nn。也就是说,对于所有 ii 从 11 到 n−1n-1,编号为 ii 和 i+1i+1 的人是相邻的,编号为 nn 和 11 的人也是相邻的。

编号为 11 的人一开始手里有一个球。他选择一个不超过 nn 的正整数 kk,将球传给他顺时针方向的第 kk 个邻居,然后那个人再将球传给他顺时针方向的第 kk 个邻居,如此循环,直到编号为 11 的人再次拿到球为止。当他再次拿到球时,球不再被传递。

例如,如果 n=6n = 6 且 k=4k = 4,球的传递顺序为 [1,5,3,1][1, 5, 3, 1]。

考虑所有碰过球的人的编号集合。游戏的乐趣值(fun value)定义为所有碰过球的人的编号之和。在上面的例子中,乐趣值为 1+5+3=91 + 5 + 3 = 9。

请你找出并输出所有可能的乐趣值的集合,遍历所有可能的正整数 kk。可以证明,在本题的约束下,球总会在有限步内回到编号为 11 的人手中,且对于给定的 nn,可能的乐趣值不超过 10510^5 个。

输入格式

输入仅一行,包含一个整数 nn(2≤n≤1092 \leq n \leq 10^9),表示参与传球的人数。

输出格式

设所有可能的乐趣值为 f1,f2,…,fmf_1, f_2, \dots, f_m。

输出一行,包含 mm 个递增排列的整数 f1f_1 到 fmf_m,用空格分隔。

样例 #1

样例输入

6

样例输出

1 5 9 21

样例 #2

样例输入

16

样例输出

1 10 28 64 136

说明/提示

在第一个样例中,我们已经展示了选择 k=4k = 4 时乐趣值为 99,选择 k=2k = 2 时也是 99。选择 k=6k = 6 时乐趣值为 11。选择 k=3k = 3 时乐趣值为 55,而 k=1k = 1 或 k=5k = 5 时乐趣值为 2121。

在第二个样例中,乐趣值 11、1010、2828、6464 和 136136 分别可以通过 k=16k = 16、88、44、1010 和 1111 得到。

由 ChatGPT 4.1 翻译