问题 F: 异或操作

内存限制:1024 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:10 解决:2

题目描述

给定长度为 $N$ 的整数序列 $A$,共有 $Q$ 次操作。第 $i$ 次操作中,给定值 $T_i, X_i, Y_i$,执行以下操作:

如果 $T_i=1$,将 $A_{X_i}$ 替换为 $A_{X_i}\oplus Y_i$。

如果 $T_i=2$,输出 $A_{X_i} \oplus A_{X_i+1} \oplus A_{X_i+2} \oplus \cdots \oplus A_{Y_i}$。

其中,$a\oplus b$ 表示 $a$ 和 $b$ 的按位异或运算。

输入

$1 \leq N,Q \leq 300000$

$0 \leq A_i < 2^{30}$

$T_i$ 取值为 $1$ 或 $2$。

当 $T_i=1$ 时,$1\leq X_i \leq N$,$0\leq Y_i < 2^{30}$。

当 $T_i=2$ 时,$1\leq X_i \leq Y_i \leq N$。

输入中的所有值均为整数。

输出

对于每个 $T_i=2$ 的操作,按照收到的顺序,将输出单独放在一行中。

样例输入 复制

3 4
1 2 3
2 1 3
2 2 3
1 2 3
2 2 3

样例输出 复制

0
1
2