#pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include #include using namespace atcoder; using namespace std; using ll=long long; using mint=modint998244353; const int b=320; int d,w,n; ll m=100001; ll op(ll x,ll y){ return min(x%m,y%m)+min(x/m%m,y/m%m)*m+min(x/m/m,y/m/m)*m*m; } ll e(){ return n*m*m+n*m+n;; } bool F(ll x){ if(x==e())return true; if(w==0)return x%m>=d; else if(w==1) return x/m%m>=d; else return x/m/m>=d; } int main() { cin>>n; vector a(n); for(int i=0;i>a[i]; for(int i=0;i> stv((n+b)/b); stv[0]=segtree(vector(n+1,0)); for(int i=1;i<(n+b)/b;i++){ stv[i]=stv[i-1]; for(int j=(i-1)*b;j>q; while(q--){ ll x,y; cin>>x>>y; x^=key;y^=key; x--; int p=y/b; vector> rec; set s; for(int i=p*b;i(0)),y-x-2); } cout<