#3035. 异或

异或

说明

输入一个长度为 nn 的数组 a[1]a[1]a[2]a[2] ,…… ,a[n]a[n]
接下来进行 mm 组询问,每次询问为 (l, r)
对于每组询问 (l, r),你需要输出 a[l] xor a[l + 1] xor …… xor a[r - 1] xor a[r],即第 ll 个数字到第 rr 个数字的异或。

输入格式

第一行为一个整数 nn
第二行为 nn (1n105)(1 \le n \le 10^5) 个整数 a[1], a[2],…… a[n] (1a[i]109)(1 \le a[i] \le 10^9)
第三行为一个整数 mm  (1m105)(1 \le m \le 10^5),表示有 mm 组询问。
接下来 mm 行,每行两个整数 l, r (1lrn)(1 \le l \le r \le n)表示询问的区间。

输出格式

输出一共 mm 行,对于每一个询问输出一个整数表示结果。

样例

3
1 2 3
6
1 1
2 2
3 3
1 2
2 3
1 3
1
2
3
3
1
0