luogu#P10322. 高洁(Purity)

    ID: 14280 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>数学数论洛谷原创O2优化莫比乌斯反演拉格朗日插值法洛谷比赛

高洁(Purity)

题目背景

简洁、准确而永恒的美丽 —— 高洁。


「高洁之光」拉姆,身为精灵王的他可以完美使用《阿梅斯草纸书》的力量。

题目描述

拉姆使用「暴风箭雨」一次射出了 nn 支箭,其中第 ii 支箭的原始攻击力是 ii。不过,这些箭会经过一些强化。

对于常数 dd,设原始攻击力为 ii 的箭,其能级v(i)v(i)

  • 若不存在正整数 kk 使得 iki^kdd 的整数倍,则 v(i)=0v(i)=0
  • 否则 v(i)v(i)最小的、使得 iki^kdd 的整数倍的正整数 kk

那么这支箭强化后的攻击力为 iv(i)+1i^{v(i)+1}

拉姆想知道所有箭在强化后的攻击力之和,由于答案可能很大,你只需要求出答案对 998244353998244353 取模的结果。(即求出答案除以 998244353998244353 的余数)

输入格式

第一行一个正整数 TT,表示数据组数。
接下来 TT 行,每行两个正整数 n,dn,d,意义如题目描述。

输出格式

输出 TT 行,每行对应一组数据的答案。

5
15 12
400 2520
5000000 68256
10000000 65536
10000000000 3628800
462
946645637
231125775
290821843
602104955

提示

【样例解释】
对于第一组数据,d=12d=12。其中 v(6)=2v(6)=2,因为 1212 能整除 626^2,而不整除 616^1,同样也能得到 v(12)=1v(12)=1。 可以发现 n=15n=15 以内的其它数能级都为 00,故答案为:

(i=115i)612+63+122=462\left(\sum_{i=1}^{15}i\right)-6-12+6^3+12^2=462

对于第二组数据,可以证明 nn 以内只有 v(210)=3v(210)=3 非零,由此可以算出答案为 19448899901944889990,对 998244353998244353 取模后为 946645637946645637

【数据范围】
本题采用捆绑测试。

Subtask 1(15 pts):1n,d1041 \le n,d \le 10^4
Subtask 2(15 pts):dd 为质数;
Subtask 3(20 pts):dd 为质数的正整数幂;
Subtask 4(20 pts):不存在大于 11 的整数 xx,使得 x4x^4 整除 dd
Subtask 5(30 pts):无特殊限制。

对于全部数据,1T10001\le T \le 10001n<2631\le n < 2^{63}1d1081\le d \le 10^8

【提示】
此题的时间限制较为宽松,即使你的代码在某些细节上没有优化,也可以正常通过此题。