#wEIYSlydlt00x0104. 增加模数 Raising Modulo Numbers

增加模数 Raising Modulo Numbers

模幂和问题

题目描述

给定 HH 对非负整数数对 (Ai,Bi)(A_i, B_i) 和一个正整数 MM

对于任意数对 (Ai,Bi)(A_i, B_i),定义 f(Ai,Bi)=AiBimodMf(A_i, B_i) = A_i^{B_i} \bmod M

请计算 $\displaystyle \left( \sum_{i=1}^H f(A_i, B_i) \right) \bmod M$ 的值。

输入格式

输入以如下格式从标准输入读入。

第一行包含整数 TT,表示共有 TT 组测试数据。

每组数据格式如下:

MM
HH
A1A_1 B1B_1
A2A_2 B2B_2
\vdots
AHA_H BHB_H

输出格式

对于每组测试数据,输出一行答案。

输入输出样例 #1

输入 #1

3
16
4
2 3
3 4
4 5
5 6
36123
1
2374859 3029382
17
1
3 18132

输出 #1

2
13195
13

输入输出样例 #2

输入 #2

1
10
3
1 5
2 3
3 2

输出 #2

0

限制条件

  • 1T1001 \le T \le 100
  • 1M450001 \le M \le 45000
  • 1H450001 \le H \le 45000
  • 0Ai,Bi1070 \le A_i, B_i \le 10^7
  • AiA_iBiB_i 不同时为 00
  • 所有输入均为整数

样例解释 1

对于第一组数据:

  • (23mod16)=8(2^3 \bmod 16) = 8
  • (34mod16)=81mod16=1(3^4 \bmod 16) = 81 \bmod 16 = 1
  • (45mod16)=1024mod16=0(4^5 \bmod 16) = 1024 \bmod 16 = 0
  • (56mod16)=15625mod16=9(5^6 \bmod 16) = 15625 \bmod 16 = 9
  • 总和为 8+1+0+9=188 + 1 + 0 + 9 = 18
  • 18mod16=218 \bmod 16 = 2

因此输出 22

对于第二组数据:

  • (23748593029382mod36123)=13195(2374859^{3029382} \bmod 36123) = 13195

对于第三组数据:

  • (318132mod17)=13(3^{18132} \bmod 17) = 13