高洁(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$。 【提示】 此题的时间限制较为宽松,即使你的代码在某些细节上没有优化,也可以正常通过此题。