#CF1139D. Steps to One
Steps to One
题目内容
Vivek 最初有一个空数组 和一个整数常数 。他执行以下算法:
- 在 到 范围内均匀随机选择一个整数 ,并将其追加到数组 的末尾。
- 计算数组 中所有整数的最大公约数(GCD)。
- 如果该 GCD 等于 ,则停止;否则返回步骤 1。
求数组 的期望长度。可以证明答案可以表示为既约分数 ,其中 和 互质且 。输出 的值。
输入
仅一行包含一个整数 ()。
输出
输出一个整数——期望长度模 的值。
样例1
1
1
样例2
2
2
样例3
4
333333338
注意
第一个样例:Vivek 只能选择 ,因此数组为 后立即停止,长度恒为 ,期望为 。
第二个样例:每次选择 或 ,最终数组由若干 (可能为零个)和一个结尾的 组成。期望长度为 $1 \cdot \frac12 + 2 \cdot \frac{1}{2^2} + 3 \cdot \frac{1}{2^3} + \dots = 2$。