题目描述
有一个转换 T(x)。给定 n、a1,a2,…,an 和 b1,b2,…,bn,T(x) 表示 x←a1xb1+a2xb2+…+anxbn。转换 Tk(x) 表示将转换 T 在 x 上应用 k 次。例如如果 x 初始为 1,T(x) 为 x←x2+1,那么执行转换 T3(x) 之后,x=26(第一次转换后 x=2,第二次转换后 x=5,第三次转换后 x=26)。
给你一个模数 p,q 次询问,每次给出 x 的初值和正整数 k,询问应用转换 Tk(x) 之后,x 的值是多少,对 p 取模。
输入格式
输入的第一行包含三个正整数 n,q,p,n 的含义见题目描述,q 表示询问次数,p 表示模数。
接下来 n 行,每行两个正整数 ai,bi,含义见题目描述。
然后 q 行,每行两个正整数 x,k,表示一次询问。
输出格式
输出 q 行,每行输出一次询问的答案。
2 1 1000
1 2
1 0
1 3
26
提示
样例解释
此即为题目描述中给出的例子。
数据范围
| 测试点编号 |
n |
k |
q |
特殊性质 |
| 1∼3 |
≤20 |
≤10 |
≤103 |
无 |
| 4∼7 |
≤103 |
≤104 |
| 8,9 |
=1 |
≤107 |
≤3×105 |
A |
| 10 |
无 |
| 11,12 |
≤2 |
≤105 |
AB |
| 13 |
B |
| 14∼16 |
≤20 |
≤500 |
无 |
| 17∼20 |
≤3×105 |
- 特殊性质 A:p 为质数。
- 特殊性质 B:bi≤1。
对于 100% 的测试数据,1≤n≤20,0≤ai,bi≤105,2≤p≤105,1≤q≤3×105,1≤x,k≤107。