---
# System prepended metadata

title: XOR

---

# 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
```