#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
int s[ 30000 + 1 ] ;
class Solution{
public :
vector< int > xorQueries( vector< int > & arr, vector< vector< int >> & q) {
int i;
vector< int > res;
s[ 0 ] = 0 ;
for ( i= ( 0 ) ; i< ( arr.size ( ) ) ; i++ ) {
s[ i+ 1 ] = s[ i] ^ arr[ i] ;
}
for ( i= ( 0 ) ; i< ( q.size ( ) ) ; i++ ) {
res.push_back ( s[ q[ i] [ 0 ] ] ^ s[ q[ i] [ 1 ] + 1 ] ) ;
}
return res;
}
}
;
// cLay varsion 20200112-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// int s[3d4+1];
//
// class Solution {
// public:
// vector<int> xorQueries(vector<int>& arr, vector<vector<int>>& q) {
// vector<int> res;
// s[0] = 0;
// rep(i,arr.size()) s[i+1] = s[i] ^ arr[i];
// rep(i,q.size()) res.push_back(s[q[i][0]]^s[q[i][1]+1]);
// return res;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbWFpbiBkdW1teV9tYWluCmludCBtYWluKCl7CiAgcmV0dXJuIDA7Cn0KI3VuZGVmIG1haW4KaW50IHNbMzAwMDArMV07CmNsYXNzIFNvbHV0aW9uewogIHB1YmxpYzoKICB2ZWN0b3I8aW50PiB4b3JRdWVyaWVzKHZlY3RvcjxpbnQ+JiBhcnIsIHZlY3Rvcjx2ZWN0b3I8aW50Pj4mIHEpewogICAgaW50IGk7CiAgICB2ZWN0b3I8aW50PiByZXM7CiAgICBzWzBdID0gMDsKICAgIGZvcihpPSgwKTtpPChhcnIuc2l6ZSgpKTtpKyspewogICAgICBzW2krMV0gPSBzW2ldIF4gYXJyW2ldOwogICAgfQogICAgZm9yKGk9KDApO2k8KHEuc2l6ZSgpKTtpKyspewogICAgICByZXMucHVzaF9iYWNrKHNbcVtpXVswXV1ec1txW2ldWzFdKzFdKTsKICAgIH0KICAgIHJldHVybiByZXM7CiAgfQp9CjsKLy8gY0xheSB2YXJzaW9uIDIwMjAwMTEyLTEKCi8vIC0tLSBvcmlnaW5hbCBjb2RlIC0tLQovLyAjZGVmaW5lIG1haW4gZHVtbXlfbWFpbgovLyB7fQovLyAjdW5kZWYgbWFpbgovLyAKLy8gaW50IHNbM2Q0KzFdOwovLyAKLy8gY2xhc3MgU29sdXRpb24gewovLyBwdWJsaWM6Ci8vICAgdmVjdG9yPGludD4geG9yUXVlcmllcyh2ZWN0b3I8aW50PiYgYXJyLCB2ZWN0b3I8dmVjdG9yPGludD4+JiBxKSB7Ci8vICAgICB2ZWN0b3I8aW50PiByZXM7Ci8vICAgICBzWzBdID0gMDsKLy8gICAgIHJlcChpLGFyci5zaXplKCkpIHNbaSsxXSA9IHNbaV0gXiBhcnJbaV07Ci8vICAgICByZXAoaSxxLnNpemUoKSkgcmVzLnB1c2hfYmFjayhzW3FbaV1bMF1dXnNbcVtpXVsxXSsxXSk7Ci8vICAgICByZXR1cm4gcmVzOwovLyAgIH0KLy8gfTsK