#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(i,a,b) for (int i = (a); i < (b); i++) #define case(i) cout<<"Case #"< p; typedef complex com; const int mod = 1e9 + 7; const int MOD = 998244353; const ll INF = 1e18; unsigned long long 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; rep(i, 0, 10000) next(); vector a(n); rep(i, 0, n) a[i] = next(); sort(a.begin(), a.end()); ll sum = 0; rep(i, 0, q) { int x = next(); int cnt = lower_bound(a.begin(), a.end(), x)-a.begin(); sum ^= (ll)cnt * i; } cout << sum << endl; return 0; }