#agc039c. [agc039_c]Division by Two with Something
[agc039_c]Division by Two with Something
题目描述
给定整数和。对于到(包括)之间的每个整数,找出以下问题的答案,然后计算所有这些答案的和,模。
- 让我们在整数上重复以下操作。操作:如果当前是奇数,则从中减并将其除以;否则,将其除以并加上。需要执行多少次操作才能让返回到其原始值?(如果永远不返回到其原始值,则答案视为。)
约束条件
- 用二进制表示,并且恰好有位。(如果的位数少于位,则在前面补零。)
- 输入中的所有值都是整数。
输入
输入通过标准输入给出,格式如下:
输出
打印问题的答案的和,对取模。
示例输入 1
3
111
示例输出 1
40
例如,对于,操作会将更改如下:。因此,的答案为。
示例输入 2
6
110101
示例输出 2
616
示例输入 3
30
001110011011011101010111011100
示例输出 3
549320998