有一个长度为$n$的整数序列$a$,你需要编写一个程序支持以下两种操作:
其中$xor$为二进制运算异或操作。
有一个长度为$n$的整数序列$a$,你需要编写一个程序支持以下两种操作:
其中$xor$为二进制运算异或操作。
第一行两个整数$n$和$q$,表示序列的长度和操作的个数。
第二行共$n$个整数表示序列$a$。
接下来$q$行。
每一行的第一个整数表示操作类型。
若$op=1$,则表示此次操作为操作,后跟两个整数$x$和$y$。
若$op=2$,则表示此次操作为操作,后跟整数$p$。
对于每一个操作,输出一行表示该次操作的答案。
输入
样例一 3 3 1 2 3 2 1 1 1 4 2 2 样例二 5 5 1 2 3 4 7 2 2 1 1 5 2 1 1 3 6 2 9
输出
样例一 5 7 样例二 15 20 65
$1\leq n,q \leq 10^5$
$1\leq x \leq n$
$0\leq a_i,y,p < 2^{20}$