编程题
### 问题描述
上一次蓝桥美出的难题立刻就被蓝桥A梦解决了,蓝桥美感觉到了深深的挫败感。
你不忍心看见蓝桥美 $emo$ 的样子,遂决定帮助她给蓝桥A梦再出一道题!
上次蓝桥美出的题你也写了写,发现其实只要修改一下,这个题目就会变成真正的难题:
现在给蓝桥A梦 $n$ 个正整数 $a_i$ ,然后进行 $m$ 次询问,每次询问第 $l$ 个数到第 $r$ 个数之间,所有出现次数为偶数的数的异或和是多少(每个数只取一个)。
这下确实难到了蓝桥A梦,想了很久也想不出来,所以他投降啦!并请求你告诉他该如何计算出答案。
### 输入格式
第一行包含 $2$ 个正整数 $n$ 和 $m$ $(1\leq n,m \leq 1\times 10^5)$,表示数组的长度和询问的次数。
第二行包含 $n$ 个正整数 $a_i$ $(1\leq a_i \leq 10^5)$ ,$a_i$ 表示第 $i$ 个位置上的数字是 $a_i$ 。
接下来 $m$ 行,每行包含 $2$ 个正整数 $l$ 和 $r$ $(1\leq l,r \leq n)$ ,表示当前询问的区间。
### 输出格式
对于每一行询问,输出 $1$ 个整数,为当前询问区间 $[l,r]$ 的出现次数为奇数的数的异或和。
### 样例输入
```text
6 3
5 4 5 4 7 7
1 3
1 4
2 3
```
### 样例输出
```text
5
1
0
```
### 说明
**样例说明**
第一次询问 $[1,3]$ ,有 $1$ 个出现次数为偶数的数: $5$ ,异或和为 $5$ 。
第二次询问 $[1,4]$ ,有 $2$ 个出现次数为偶数的数: $4、5$ ,异或和为 $4\oplus 5 = 1$ 。
第三次询问 $[2,3]$ ,有 $0$ 个出现次数为偶数的数,异或和为 $0$ 。
**提示**
注意,因为本题输入输出数据较大,所以要用快一些的输入输出方式,比如 $scanf$ 和 $printf$ 。如果想使用 $cin$ 和 $cout$ ,需要关闭流同步。
以及换行不能使用 $endl$ 作为换行符,要用 $"\setminus n"$ 。