#P17332. 终末电台

终末电台

题目描述

有一台环形收音机,共有奇素数 pp 个档位,依次编号为 0,1,,p10,1,\ldots,p-1。旋钮转过一圈后会回到原位置,初始位于档位 00

每次旋转时,只能顺时针转动一个非零二次剩余所对应的档位数。也就是说,一次旋转的改变量必须属于集合

R={x2modp1x<p}R=\{x^2\bmod p\mid 1\le x<p\}

由于 pp 是奇素数,RR 中恰有 (p1)/2(p-1)/2 个不同元素,并且 0R0\notin R

共有 QQ 次询问。第 ii 次询问给出两个整数 ki,nik_i,n_i,你需要求:从档位 00 出发,恰好进行 kik_i 次旋转后到达档位 nin_i 的旋转方案数。

一个方案由每一步的档位改变量序列唯一确定。若第 jj 步选择的改变量为 rjRr_j\in R,则需要满足

r1+r2++rkini(modp)r_1+r_2+\cdots+r_{k_i}\equiv n_i\pmod p

设第 ii 次询问的方案数为 ansians_i。你不需要分别输出每个 ansians_i,而是输出

$\displaystyle \bigoplus_{i=1}^{Q}(ans_i\bmod 998244353)$,

其中 \oplus 表示按位异或。

输入格式

第一行两个正整数 Q,pQ,p

接下来 QQ 行,每行两个非负整数 ki,nik_i,n_i

输出格式

输出一个整数,表示所有询问答案模 998244353998244353 后的按位异或和。

输入输出样例 #1

输入

3 7
0 0
1 1
2 5

输出

2

说明

p=7p=7 时,非零二次剩余为 {1,2,4}\{1,2,4\}

  • k=0,n=0k=0,n=0:只有空序列,方案数为 11
  • k=1,n=1k=1,n=1:只有 (1)(1),方案数为 11
  • k=2,n=5k=2,n=5:有 (1,4)(1,4)(4,1)(4,1) 两种方案,方案数为 22

因此最终答案为 112=21\oplus1\oplus2=2

输入输出样例 #2

输入

7 11
0 0
1 1
1 2
2 0
2 1
2 2
3 0

输出

14

数据范围与约定

对于全部数据:

  • 1Q1051\le Q\le10^5
  • pp 为奇素数;
  • 0ni<p1090\le n_i<p\le10^9
  • 0ki10180\le k_i\le10^{18}

原题各测试点覆盖的典型性质包括:

类型 典型范围或性质
小规模 p200p\le200Q100Q\le100ki200k_i\le200
中等模数 p104p\le10^4Q105Q\le10^5ki109k_i\le10^9
大模数 p109p\le10^9Q105Q\le10^5ki1018k_i\le10^{18}
特殊目标 所有 ni=0n_i=0
所有 nin_i 为非零二次剩余
所有 nin_i 为非零非二次剩余
特殊步数 ki{0,1,2,1018}k_i\in\{0,1,2,10^{18}\}
极大步数 1017ki101810^{17}\le k_i\le10^{18}

原数据还同时覆盖 p1(mod4)p\equiv1\pmod4p3(mod4)p\equiv3\pmod4 两种情况。

提示

对于固定的 ppkk,答案只与 nn 属于以下三类中的哪一类有关:

  1. n=0n=0
  2. nn 是非零二次剩余;
  3. nn 是非二次剩余。

这三类之间可以建立一个 3×33\times3 的线性递推。