#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n;
  cin >> n;
  long long i, j, k, arr[n];
  long long ans = 0;
  for (i = 0; i < n; i++) {
    cin >> arr[i];
  }
  for (i = 0; i < 25; i++) {
    long long x = 1 << (i + 1);
    vector<long long> v;
    for (j = 0; j < n; j++) {
      v.push_back(arr[j] % x);
    }
    sort(v.begin(), v.end());
    long long pairs = 0;
    for (j = 0; j < n; j++) {
      long long l = lower_bound(v.begin(), v.end(), x - v[j]) -
                    lower_bound(v.begin(), v.end(), x / 2 - v[j]);
      long long r = lower_bound(v.begin(), v.end(), 2 * x - 1 - v[j]) -
                    lower_bound(v.begin(), v.end(), 3 * (x / 2) - v[j]);
      pairs += (l + r);
      if ((v[j] * 2) < (x) && (v[j] * 2) >= x / 2) pairs--;
      if ((v[j] * 2) < (2 * x - 1) && (v[j] * 2) >= 3 * (x / 2)) pairs--;
    }
    pairs /= 2;
    if (pairs % 2) {
      ans += (x / 2);
    }
  }
  cout << ans << endl;
  return 0;
}
