「EZEC-4」求和
题目描述
给定正整数 $n$ 的值,求出下面这个式子的值:
$$\displaystyle\sum_{i = 1}^n \sum_{j = 1}^n \gcd(i,j)^{i + j}$$
由于结果可能很大,所以你只需要求出结果对 $p$ 取模的值。
输入输出格式
输入格式
**本题有多组测试数据。**
第一行,一个整数 $T$,表示数据组数。
对于每组数据:
一行,两个正整数 $n, p$。
输出格式
对于每组数据,输出一行,一个正整数,表示所求的值。
输入输出样例
输入样例 #1
2
2 1000000007
3 998244353
输出样例 #1
19
752
输入样例 #2
2
4 998244353
123456 1000000007
输出样例 #2
66420
3252328
说明
**本题开启 O2 优化和捆绑测试。**
**为了卡掉错解开大了数据范围,请注意常数因子对程序产生的影响。**
### 样例解释
#### 样例 #1
对于第一组数据:$\operatorname{ans} = \gcd(1, 1)^2 + \gcd(1, 2)^3 + \gcd(2, 1)^3 + \gcd(2, 2)^4 = 1^2 + 1^3 + 1^3 + 2^4 = 3 + 16 = 19$。所以答案为 $19 \bmod (10^9 + 7) = 19$。
### 数据范围
| Subtask | $\sum n$ | 分值 | 时限 |
| :------: | :------: | :------: | :------: |
| $1$ | $1 \leq \sum n \leq 500$ | $10 \operatorname{pts}$ | $1.00 \operatorname{s}$ |
| $2$ | $1 \leq \sum n \leq 5 \times 10^5$ | $40 \operatorname{pts}$ | $3.20 \operatorname{s}$ |
| $3$ | 无特殊限制 | $50 \operatorname{pts}$ | $6.00 \operatorname{s}$ |
对于 $100\%$ 的数据,$1 \leq \sum n \leq 1.5 \times 10^6$,$2 \leq p \leq 2^{31} - 1$ 且 $p$ 为质数,$1 \leq T \leq 2$。