#include #define REP(i,n) for(int i=0;i<(n);i++) #define ALL(v) (v).begin(),(v).end() #define int long long using namespace std; using ull=unsigned long long; ull seed; int next(){ seed=seed^(seed<<13); seed=seed^(seed>>7); seed=seed^(seed<<17); return (seed>>33); } signed main() { int N,Q; cin>>N>>Q>>seed; REP(i,10000) next(); vector a(N); REP(i,N) a[i]=next(); sort(ALL(a)); int sum=0; REP(i,Q){ int x=next(); int cnt=lower_bound(ALL(a),x)-a.begin(); sum^=cnt*i; } cout<