题目背景
“还可以连接一个东西。”米尔嘉说,“1 的原始 n 次方根的个数是欧拉老师 φ 函数的值。函数 φ(n) 在 1≤k<n 的范围内表示与 n 互质的自然数的个数,也表示循环群的生成元的个数。”米尔嘉像是描绘 φ 似地挥动手指,“最喜欢互质的尤里不在这里真可惜,今天你怎么没带她来?”
米尔嘉瞪我。
“互质?”米尔嘉看着窗外说,“我们来做道有趣的题吧!”
题目描述
给定一个数 n,求满足 φ(x)∣n 的正整数 x 的个数。
其中 a∣b 表示 a 整除 b,φ(x) 表示欧拉函数。
输入格式
本题有多组数据。第一行输入一个整数 T,表示数据组数。
由于输入已经给出 n 的标准质因数分解,因此无需自行对 n 做 Pollard-Rho 分解。
对于每组询问:
- 首先输入一个整数 s;
- 接下来 s 行,每行两个整数 pi,αi,表示 n=∏i=1spiαi;
- 保证 pi 为质数,且 pi<pi+1。
特别地,当 n=1 时,其标准质因数分解为空,此时输入 s=0,后面没有质因子行。
输出格式
对于每组数据输出一行一个整数,表示满足条件的 x 的个数,对 998244353 取模。
输入输出样例
输入
3
1
2 3
3
2 3
11 1
23 1
6
2 1
3 2
5 1
7 1
101 2
178187 1
输出
14
53
53
说明
三组样例中对应的 n 分别为 8,2024,1145141919810。
对于 n=8,共有 14 个解:
$\varphi(15)=\varphi(16)=\varphi(20)=\varphi(24)=\varphi(30)=8$;
φ(5)=φ(8)=φ(10)=φ(12)=4;
φ(3)=φ(4)=φ(6)=2;
φ(1)=φ(2)=1。
这些值均整除 8。
数据范围
| 子任务 |
分值 |
限制 |
| 0 |
10 |
n∈[1,107] |
| 1 |
n∈[1,109] |
| 2 |
20 |
n∈[1,1012] |
| 3 |
n∈[1,1014] |
| 4 |
n∈[1,1016] |
| 5 |
无额外限制 |
对于 100% 的数据,T=5,1≤n≤1018。
本整理版约定:当 n=1 时使用 s=0 表示空质因数分解;当 n>1 时 s≥1。
时空限制
- 时间限制:2000 ms
- 空间限制:512 MiB