#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair P; typedef unsigned long long ull; ull seed; int next() { seed = seed ^ (seed << 13); seed = seed ^ (seed >> 7); seed = seed ^ (seed << 17); return (seed >> 33); } int main() { int n, q; cin>>n>>q>>seed; for (int i = 0; i < 10000; i++) next(); int a[200000]; for (int i = 0; i < n; i++) a[i] = next(); sort(a, a+n); ll sm=0; ll mx=1ll<<31; int d=1000; for(int i=0; i=a[i2]){ sm^=((ll)(lower_bound(a+i2, a+n, x)-a)*i); }else{ sm^=((ll)(lower_bound(a+i1, a+i2, x)-a)*i); } } cout<