#include #include using namespace std; const int maxn=200005; int n,a[maxn]; long long segment_tree[3*maxn]; long long merge_nodes(long long A, long long B){ return A^B; } void build_tree(int L=0,int R=n-1,int node=1){ if(L==R){ segment_tree[node]=a[L]; }else{ int middle=(L+R)/2; build_tree(L,middle,2*node); build_tree(middle+1,R,2*node+1); segment_tree[node]=merge_nodes(segment_tree[2*node],segment_tree[2*node+1]); } } long long query(int i,int j,int L=0,int R=n-1,int node=1){ if(R>n>>q; for(int i = 0;i>a[i]; } build_tree(); for(int i=0;i>A>>B; cout<