Given an integer array A of size N, you need to perform 2 operations over this array :
0 L R : Find and print A[L] xor A[L+1] xor A[L+2] ... xor A[R]
1 X Y : Update the value of the Xth element of array A, i.e A[X] to (A[X] XOR Y) . That is, after the update the value of the element shall be (A[X] XOR Y).
Can you do it ?
Input Format :
The first line contains a single integer N denoting the size of array A. The next line contains N space separated integers, where the ith element denotes A[i]. The third line contains the number of operations Q and then each of the remaining Q lines contain three space separated integers, where the ith line denotes the parameters of the ith query.
Output Format :
For each operation of the form 0 L R, display the answer for the operation in a separate line.
Input Constraints:
1≤N≤106
1≤Q≤105
0≤A[i]≤106
1≤L≤R≤N
1≤X≤N
1≤Y≤106