#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  long long int n;
  cin >> n;
  long long int a[n];
  for (long long int i = 0; i < n; i++) {
    cin >> a[i];
  }
  long long int ans = 0;
  for (long long int i = 0; i < 30; i++) {
    vector<long long int> temp;
    long long int mod = (1LL << (i + 1));
    for (long long int j = 0; j < n; j++) {
      temp.push_back((a[j] % mod));
    }
    sort(temp.begin(), temp.end());
    long long int odd = 0;
    for (long long int j = 0; j < n; j++) {
      long long int sumff = (1LL << i);
      long long int sumfl = (1LL << (i + 1)) - 1;
      long long int sumsf = (1LL << (i + 1)) + (1LL << i);
      long long int sumsl = (1LL << (i + 2)) - 2LL;
      if (temp[j] + temp[n - 1] < sumff) {
        continue;
      }
      long long int ff =
          lower_bound(temp.begin(), temp.end(), sumff - temp[j]) - temp.begin();
      long long int fl =
          upper_bound(temp.begin(), temp.end(), sumfl - temp[j]) - temp.begin();
      if (j < fl && j >= ff) {
        fl--;
      }
      long long int sf =
          lower_bound(temp.begin(), temp.end(), sumsf - temp[j]) - temp.begin();
      long long int sl =
          upper_bound(temp.begin(), temp.end(), sumsl - temp[j]) - temp.begin();
      if (j < sl && j >= sf) {
        sl--;
      }
      odd += sl - sf + fl - ff;
    }
    odd /= 2;
    if ((odd % 2) == 1) {
      ans |= (1LL << i);
    }
  }
  cout << ans << endl;
  return 0;
}
