# XOR ## 题目描述 初始给定长度为 $N$ 的 32 位无符号正整数数列 $A$。接下来有 $M$ 次操作,每次操作可能为以下两种操作中的一种: 1. 查询操作,给定查询参数: $L$, $R$ 和一个 32 位无符号正整数 $x$,求 $p \in [L, R]$ 使得 $A[p] \ xor \ A[p + 1] \ xor \ A[p + 2] \ xor \ ... \ xor \ A[R] \ xor \ x$ 最大的位置 $p$。 2. 添加操作,给定参数: 一个 32 位无符号正整数 $x$,将 $x$ 添加至数列 $A$ 的末尾。 ## 数据范围 $N, M \leq 10^5$ ## 输入格式 第一行输入两个正整数 $N$ 和 $M$,接下来一行输入 $N$ 个 32 位无符号正整数,接下来 $M$ 行,每行输入代表一次操作。对于查询操作,其格式为 $query \ L \ R \ x$,对于添加操作,其格式为 $append \ x$ ## 输出格式 对于每次查询操作,应输出一个正整数 $p$。 ## 样例输入 ``` 2 3 1 2 query 0 1 0 append 15 query 0 2 0 ``` ## 样例输出 ``` 0 2 ```