编程题
### 问题描述
林克做了很多数据结构,现在他想把数据结构和异或结合起来。
给出一个长度为 $n$ 的非负整数序列 $a$ 和 $q$ 组询问。每组询问包含了一个区间 $[l,r]$,在 $a[l],a[l+1],\dots,a[r]$ 组成的子区间中,任选至少 $1$ 个元素构成序列 $b$。 $b$ 中所有元素的异或和为该序列的权值。你需要求出 $b$ 的权值最小值。序列 $b$ 的异或和为 $b_1 \oplus b_2 \dots \oplus b_m$,其中 $m$ 为 $b$ 的长度,$\oplus$ 为异或运算。
### 输入格式
第一行两个正整数 $n,q \space (1 \leq n,q \leq 10^5)$,代表序列 $a$ 的长度和询问个数。
接下来一行 $n$ 个整数 $a_i \space (0 \leq a_i < 2^{30})$,代表序列 $a$ 的每个元素。
接下来 $q$ 行,每行两个正整数 $l,r \space (1 \leq l \leq r \leq n)$,代表询问的区间。
### 输出格式
输出 $q$ 行,每行一个整数,代表该询问的答案。
### 样例输入1
```
10 7
3 0 2 4 5 8 6 1 7 2
1 10
1 3
3 5
5 10
4 4
2 6
6 8
```
### 样例输出1
```
0
0
1
0
4
0
1
```
### 样例输入2
```
10 5
2 4 6 13 5 6 15 1 7 9
1 3
5 7
2 8
1 10
7 9
```
### 样例输出2
```
0
3
0
0
1
```
### 样例输入3
```
10 10
234 534 324 653 837 954 3 334 188 233
1 1
4 5
1 4
2 6
3 7
8 10
1 10
4 9
1 6
7 8
```
### 样例输出3
```
234
456
113
23
3
85
0
3
2
3
```