#1232. [CZOJ 一周一测 R18 B] MARENOL

[CZOJ 一周一测 R18 B] MARENOL

题目描述

美穗喜欢数据结构,所以她给了你一道数据结构题。

给定一个长度为 nn 的整数序列 aa,有以下几种操作:

  • 1 x\texttt{1}\ x:在 aa 末尾加入一个整数 xx
  • 2 x\texttt{2}\ x:将 axa_x 变为原来的平方。
  • 3 x\texttt{3}\ x:查询 axa_x 的值。

请你用数据结构维护一下吧!

输入格式

第一行为两个正整数 n,qn,q,后者表示操作次数。

由于出题人懒得造数据,所以 aia_i 和操作都将按下述方式随机生成。

P1123 [CZOJ 一周一测 R15 A] 刺客传奇 不同,本题正解不依赖数据生成方式

第二行输入一个正整数 pp

aa 的生成方式为:

  • a1=p,a2=q×p1a_1=p,a_2=q\times p-1
  • $a_i=(a_{i-1}^2+(q\times a_{i-2})\bmod i+a_{i-2}\times 839730577)\bmod 10^8+1$

第三行输入两个正整数 op,x\text{op}',x'

对于第 i[1,q]i\in [1,q] 次操作,其操作方式 op\text{op} 和操作参数 xx 将按如下方式生成:

  • $\text{op}=(\text{op}'\times x'\times(\text{op}'+x'+i)+x'-\text{op}'+3)\bmod 3+1$。
  • $x=((\text{op}'\times x'+21)\times (i+\text{op}'+9)\times i)\bmod n'+1$。

其中 nn' 表示当前序列 aa 的长度。

每次操作完成上述操作后,将 op,x\text{op},x 作为新的 op,x\text{op}',x'

输出格式

假设每个操作 33 所查询的结果对 998244853998244853 取模后的答案分别为 c1,c2,,cqc_1,c_2,\cdots,c_q,则用一行输出 cic_i 的按位异或和(异或的过程和结果不需要取模)。

样例

5 5
7
1 12
9418825
15 20
8
12 22
18049235

样例 1\textbf 1 解释

生成的 aa{7,34,78115198,9418825,53389872}\{7,34,78115198,9418825,53389872\}

生成的操作依次为:

3 4
2 5
2 3
2 1
1 1

所以显然答案为 94188259418825

数据范围

对于 100%100\% 的数据,$1\le n,q\le 10^3,1\le p,x'\le 10,1\le \text{op}'\le 3$。