# hdu6579

###name
Operation

###descirption
There is an integer sequence a of length n and there are two kinds of operations:
0 l r: select some numbers from \$a_l…a_r\$ so that their xor sum is maximum, and print the maximum value.

1 x: append x to the end of the sequence and let n=n+1.

###input
There are multiple test cases. The first line of input contains an integer T(T≤10), indicating the number of test cases.
For each test case:
The first line contains two integers n,m\$(1≤n≤5×10^5,1≤m≤5×10^5)\$, the number of integers initially in the sequence and the number of operations.
The second line contains n integers a1,a2,…,an\$(0≤a_i\lt 2^{30})\$, denoting the initial sequence.
Each of the next m lines contains one of the operations given above.
It’s guaranteed that \$∑n≤10^6,∑m≤10^6,0≤x\lt 2^{30}\$.
And operations will be encrypted. You need to decode the operations as follows, where lastans denotes the answer to the last type 0 operation and is initially zero:
For every type 0 operation, let \$l=(l xor lastans)mod n + 1\$, \$r=(r xor lastans)mod n + 1\$, and then swap(l, r) if \$l>r\$.
For every type 1 operation, let x=x xor lastans.

###output
For each type 0 operation, please output the maximum xor sum in a single line.

###sample input
1
3 3
0 1 2
0 1 1
1 3
0 3 4

###sample output
1
3

###toturial

###code