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