#CF2072G. I've Been Flipping Numbers for 300 Years and Calculated the Sum
I've Been Flipping Numbers for 300 Years and Calculated the Sum
题目描述
给定一个正整数 。对于一个进制 ,定义 为下面的操作结果:
- 将 写成 进制表示,记为
其中 是表示长度。
- 将这个 进制表示反转,得到
- 把 按 进制转回十进制,返回这个值。
现在给定 和 ,请计算
由于答案可能很大,只需要输出 对 取模后的结果。
输入格式
第一行包含一个整数 ,表示测试用例个数。
接下来 行,每行包含两个整数 。
输出格式
对于每个测试用例,输出一行一个整数,表示
$$\sum_{p=2}^{k}\operatorname{rev}(n,p)\bmod (10^9+7)$$的值。
数据范围
- 多个测试用例中 的总和没有额外限制。
样例
输入
12
3 2
42 52
1 10
4 4
16 2
69 69
9 3
19 84
9982 44353
100000 1000000007
17 30
777 1000000000000000000
输出
3
7594
9
6
1
33471
10
2006
120792461
584502117
775
46058362
样例解释
第三个测试用例中,。数字 在任何进制下都只有一位,因此对所有 都有 。所以答案为 。
第四个测试用例中:
- ,反转后为 ;
- ,反转后仍为 ;
- ,反转后为 。
因此答案为 。
相关
在下列比赛中: