#arc134f. [arc134_f]Flipping Coins
[arc134_f]Flipping Coins
题目描述
有 个硬币,编号为 ,排成一行。初始时,所有硬币都是正面朝上。
Snuke 等概率地选择了一个 的排列 ,并进行了 次操作。第 次操作如下所示。
- 如果编号为 的硬币是反面朝上的,则不执行任何操作。
- 如果编号为 的硬币是正面朝上的,则将该硬币翻转,然后翻转硬币 。
经过 次操作后,Snuke 将从他的母亲那里得到 日元(日本货币),其中 是正面朝上的硬币数。
求 Snuke 可以得到的金额的期望值,乘以 (可以证明这是一个整数),对 取模。
约束条件
- 输入中的所有值都是整数。
输入
输入以以下格式从标准输入给出:
输出
打印出 Snuke 可以得到的金额的期望值,乘以 ,对 取模。
示例输入 1
4 2
示例输出 1
90
- 当 时,操作顺序如下。
- 在第 次操作中,编号为 的硬币反面朝上,然后将编号为 的硬币翻转为正面朝上。
- 在第 次操作中,编号为 的硬币反面朝上,然后将编号为 的硬币反面朝上。
- 在第 次操作中,编号为 的硬币反面朝上,然后将编号为 的硬币翻转为正面朝上。
- 在第 次操作中,不执行任何操作。
- 最后,有两个硬币正面朝上,所以他获得了 日元。
示例输入 2
2 100
示例输出 2
10001
示例输入 3
200000 12345
示例输出 3
541410753
- 确保对 取模。