#P10322. 高洁(Purity)
高洁(Purity)
题目背景
简洁、准确而永恒的美丽 —— 高洁。
「高洁之光」拉姆,身为精灵王的他可以完美使用《阿梅斯草纸书》的力量。
题目描述
拉姆使用「暴风箭雨」一次射出了 支箭,其中第 支箭的原始攻击力是 。不过,这些箭会经过一些强化。
对于常数 ,设原始攻击力为 的箭,其能级为 :
- 若不存在正整数 使得 是 的整数倍,则 ;
- 否则 为最小的、使得 是 的整数倍的正整数 。
那么这支箭强化后的攻击力为 。
拉姆想知道所有箭在强化后的攻击力之和,由于答案可能很大,你只需要求出答案对 取模的结果。(即求出答案除以 的余数)
输入格式
第一行一个正整数 ,表示数据组数。
接下来 行,每行两个正整数 ,意义如题目描述。
输出格式
输出 行,每行对应一组数据的答案。
5
15 12
400 2520
5000000 68256
10000000 65536
10000000000 3628800
462
946645637
231125775
290821843
602104955
提示
【样例解释】
对于第一组数据,。其中 ,因为 能整除 ,而不整除 ,同样也能得到 。
可以发现 以内的其它数能级都为 ,故答案为:
对于第二组数据,可以证明 以内只有 非零,由此可以算出答案为 ,对 取模后为 。
【数据范围】
本题采用捆绑测试。
Subtask 1(15 pts):;
Subtask 2(15 pts): 为质数;
Subtask 3(20 pts): 为质数的正整数幂;
Subtask 4(20 pts):不存在大于 的整数 ,使得 整除 ;
Subtask 5(30 pts):无特殊限制。
对于全部数据,,,。
【提示】
此题的时间限制较为宽松,即使你的代码在某些细节上没有优化,也可以正常通过此题。