#include <bits/stdc++.h>
using namespace std;
int main() {
  int N;
  cin >> N;
  vector<long long int> a(N), b(N);
  for (int i = 0; i < N; i += 1) {
    long long int _a;
    cin >> _a;
    a[i] = _a;
  }
  for (int i = 0; i < N; i += 1) {
    long long int _b;
    cin >> _b;
    b[i] = _b;
  }
  long long int result = 0;
  for (int k = 0; k < 30; k += 1) {
    long long int t = 1 << k;
    vector<long long int> a_mod_t = a;
    for (int i = 0; i < N; i += 1) a_mod_t[i] %= 2 * t;
    vector<long long int> b_mod_t = b;
    for (int i = 0; i < N; i += 1) b_mod_t[i] %= 2 * t;
    sort(b_mod_t.begin(), b_mod_t.end());
    int d = 0;
    for (int i = 0; i < N; i += 1) {
      auto i1 = lower_bound(b_mod_t.begin(), b_mod_t.end(), t - a_mod_t[i]);
      auto i2 = lower_bound(b_mod_t.begin(), b_mod_t.end(), 2 * t - a_mod_t[i]);
      auto i3 = lower_bound(b_mod_t.begin(), b_mod_t.end(), 3 * t - a_mod_t[i]);
      auto i4 = lower_bound(b_mod_t.begin(), b_mod_t.end(), 4 * t - a_mod_t[i]);
      d += i2 - i1 + i4 - i3;
    }
    if (d % 2 != 0) {
      result += t;
    }
  }
  cout << result << endl;
  return 0;
}
