#include<bits/stdc++.h>
using namespace std;
long long n;
long long a[1000005];
void input()
{
cin >> n;
for (long long i=1; i<=n; i++)
{
cin >> a[i];
}
}
void solve()
{
long long ans = 0;
long long tong = n*(n+1)/2;
for (long long bit=0; bit<=30; bit++)
{
long long zero = 0;
long long len = 0;
for (long long i=1; i<=n; i++)
{
if ((a[i] & (1LL<<bit)) == 0)
{
len++;
}
else
{
zero += len*(len+1)/2;
len = 0;
}
}
zero += len*(len+1)/2;
long long one = tong - zero;
if (one % 2 == 1)
{
ans |= (1LL<<bit);
}
}
cout << ans << "\n";
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
input();
solve();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmxvbmcgbG9uZyBuOwpsb25nIGxvbmcgYVsxMDAwMDA1XTsKCnZvaWQgaW5wdXQoKQp7CiAgICBjaW4gPj4gbjsKCiAgICBmb3IgKGxvbmcgbG9uZyBpPTE7IGk8PW47IGkrKykKICAgIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KfQoKdm9pZCBzb2x2ZSgpCnsKICAgIGxvbmcgbG9uZyBhbnMgPSAwOwogICAgbG9uZyBsb25nIHRvbmcgPSBuKihuKzEpLzI7CgogICAgZm9yIChsb25nIGxvbmcgYml0PTA7IGJpdDw9MzA7IGJpdCsrKQogICAgewogICAgICAgIGxvbmcgbG9uZyB6ZXJvID0gMDsKICAgICAgICBsb25nIGxvbmcgbGVuID0gMDsKCiAgICAgICAgZm9yIChsb25nIGxvbmcgaT0xOyBpPD1uOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBpZiAoKGFbaV0gJiAoMUxMPDxiaXQpKSA9PSAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBsZW4rKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHplcm8gKz0gbGVuKihsZW4rMSkvMjsKICAgICAgICAgICAgICAgIGxlbiA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHplcm8gKz0gbGVuKihsZW4rMSkvMjsKCiAgICAgICAgbG9uZyBsb25nIG9uZSA9IHRvbmcgLSB6ZXJvOwoKICAgICAgICBpZiAob25lICUgMiA9PSAxKQogICAgICAgIHsKICAgICAgICAgICAgYW5zIHw9ICgxTEw8PGJpdCk7CiAgICAgICAgfQogICAgfQoKICAgIGNvdXQgPDwgYW5zIDw8ICJcbiI7Cn0KCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CgogICAgaW5wdXQoKTsKICAgIHNvbHZlKCk7CgogICAgcmV0dXJuIDA7Cn0=