#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000000 + 20;
int xor_n[maxn];
int p[maxn];
int n;
int q;
void init() {
  xor_n[0] = 0;
  for (int i = 1; i < maxn; i++) {
    xor_n[i] = i ^ xor_n[i - 1];
  }
}
int main() {
  init();
  while (~scanf("%d", &n)) {
    q = 0;
    for (int i = 1; i <= n; i++) {
      scanf("%d", &p[i]);
      q = q ^ p[i];
    }
    for (int i = 1; i <= n; i++) {
      int tmp = n / i;
      if (n % i == 0) {
        if (tmp & 1) q = q ^ xor_n[i - 1];
      } else {
        if (tmp & 1)
          q = q ^ xor_n[i - 1] ^ xor_n[n % i];
        else
          q = q ^ xor_n[n % i];
      }
    }
    printf("%d\n", q);
  }
  return 0;
}
