Fotile 模拟赛L
题号:NC51147
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

FOTILE得到了一个长为N的序列A,为了拯救地球,他希望知道某些区间内的最大的连续XOR和。
即对于一个询问,你需要求出max(Ai xor A[i+1] xor A[i+2] … xor Aj),其中
为了体现在线操作,对于一个询问(x,y):


其中lastans是上次询问的答案,一开始为0。

输入描述:

第一行两个整数N和M。
第二行有N个正整数,其中第i个数为A_i
后M行每行两个整数x,y表示一对询问。

输出描述:

共M行,每行输出一个正整数,第i行的正整数表示第i个询问的结果。
示例1

输入

复制
3 3
1 4 3
0 1
0 1
4 3

输出

复制
5
7
7

备注:

N=12000,M=6000,