1645: 区间操作

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:0

题目描述

小 A 喜欢区间操作问题。小 A 给你了一个长度为 $n$ 的序列 $a$,并给你了 $q$ 组询问。
对于每组询问,小 A 会给你两个正整数 $l,r$,你需要求出 $(a_l) \oplus (a_l+a_{l+1}) \oplus (a_l+a_{l+1}+a_{l+2}) \oplus \dots \oplus (a_l + a_{l+1} + a_{l+2} + \dots + a_r)$ 的值。
其中 $\oplus$ 表示异或运算。

输入

第一行两个正整数 $n,q$,
之后一行 $n$ 个整数 $a_i$,
之后 $q$ 行每行两个正整数 $l,r$。

输出

共 $q$ 行,
每行一个整数表示你的答案。

样例输入 复制

7 10
1 9 1 9 8 1 0
1 2
1 3
1 4
1 5
1 6
1 7
2 6
3 5
4 7
2 7

样例输出 复制

11
0
20
8
21
8
23
25
24
11

提示

对于所有测试数据,$1 \le l \le r \le n \le 10^4$,$1 \le q \le 10^6$,$0 \le a_i \le 10^{10}$。

来源/分类