#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int count(vector<int> &a, int l, int r) {
return upper_bound(a.begin(), a.end(), r) - upper_bound(a.begin(), a.end(), l-1);
}
int main () {
int n;
scanf("%d", &n);
vector<int> a(n), b(n);
for(int i = 0; i < n; ++i)
scanf("%d", &a[i]);
for(int i = 0; i < n; ++i)
scanf("%d", &b[i]);
int ans = 0;
for(int bit = 20; bit >= 0; --bit) {
int T = 1 << bit;
for(int i = 0; i < n; ++i) {
a[i] %= 2*T;
b[i] %= 2*T;
}
sort(b.begin(), b.end());
ll cnt = 0;
for(int i = 0; i < n; ++i) {
/// ta biết a[i]
/// đếm coi bao nhiêu số b[j] thỏa mãn
/// TH1 : min a + b = 10000 và max = 11111
/// ta đã biết a = bao nhiều
/// b = [10000 - a, 11111 - a]
cnt += count(b, T - a[i], 2*T - a[i] - 1);
/// ở trên đã đếm được số cặp a + b nằm trong khoảng
/// [10000, 11111]
cnt += count(b, 3*T - a[i], 4*T - a[i] - 1);
}
if (cnt % 2 == 1)
ans += T;
}
printf("%d", ans);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBsb25nIGxvbmcgbGw7CgppbnQgY291bnQodmVjdG9yPGludD4gJmEsIGludCBsLCBpbnQgcikgewogICAgcmV0dXJuIHVwcGVyX2JvdW5kKGEuYmVnaW4oKSwgYS5lbmQoKSwgcikgLSB1cHBlcl9ib3VuZChhLmJlZ2luKCksIGEuZW5kKCksIGwtMSk7Cn0KCmludCBtYWluICgpIHsKICAgIGludCBuOwogICAgc2NhbmYoIiVkIiwgJm4pOwoKICAgIHZlY3RvcjxpbnQ+IGEobiksIGIobik7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgKytpKQogICAgICAgIHNjYW5mKCIlZCIsICZhW2ldKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyArK2kpCiAgICAgICAgc2NhbmYoIiVkIiwgJmJbaV0pOwoKICAgIGludCBhbnMgPSAwOwogICAgZm9yKGludCBiaXQgPSAyMDsgYml0ID49IDA7IC0tYml0KSB7CiAgICAgICAgaW50IFQgPSAxIDw8IGJpdDsKICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgICAgIGFbaV0gJT0gMipUOwogICAgICAgICAgICBiW2ldICU9IDIqVDsKICAgICAgICB9CgogICAgICAgIHNvcnQoYi5iZWdpbigpLCBiLmVuZCgpKTsKCiAgICAgICAgbGwgY250ID0gMDsKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgLy8vIHRhIGJp4bq/dCBhW2ldIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIC8vLyDEkeG6v20gY29pIGJhbyBuaGnDqnUgc+G7kSBiW2pdIHRo4buPYSBtw6NuIAogICAgICAgICAgICAKICAgICAgICAgICAgLy8vIFRIMSA6IG1pbiBhICsgYiA9IDEwMDAwIHbDoCBtYXggPSAxMTExMSAKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vLyB0YSDEkcOjIGJp4bq/dCBhID0gYmFvIG5oaeG7gXUgCiAgICAgICAgICAgIAogICAgICAgICAgICAvLy8gYiA9IFsxMDAwMCAtIGEsIDExMTExIC0gYV0gIAogICAgICAgICAgICAKICAgICAgICAgICAgY250ICs9IGNvdW50KGIsIFQgLSBhW2ldLCAyKlQgLSBhW2ldIC0gMSk7CiAgICAgICAgICAgIAogICAgICAgICAgICAvLy8g4bufIHRyw6puIMSRw6MgxJHhur9tIMSRxrDhu6NjIHPhu5EgY+G6t3AgYSArIGIgbuG6sW0gdHJvbmcga2hv4bqjbmcgCiAgICAgICAgICAgIAogICAgICAgICAgICAvLy8gWzEwMDAwLCAxMTExMV0gCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICBjbnQgKz0gY291bnQoYiwgMypUIC0gYVtpXSwgNCpUIC0gYVtpXSAtIDEpOwogICAgICAgIH0KICAgICAgICBpZiAoY250ICUgMiA9PSAxKQogICAgICAgICAgICBhbnMgKz0gVDsKICAgIH0KCiAgICBwcmludGYoIiVkIiwgYW5zKTsKCiAgICByZXR1cm4gMDsKfQo=