#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
using namespace std;
#define int long long
//#define int unsigned long long
//define int __int128
#define all(x) x.begin(),x.end()
#define pb push_back
#define pf push_front
#define rall(x) x.rbegin(),x.rend()
const int N=1e6+7,mod=998244353,MOD=1000000007,dom=0,inf=2147483647;//,INF=9223372036854775807;
int n,a[N],x,cnt[N],ans=0;
void solve(int TCS){
    cin>>n;
    for(int i=2;i<=n;i++){
        x=n/i;
        cnt[0]+=x,cnt[i]-=x;
        if(n%i!=0){
            cnt[1]++,cnt[n%i+1]--;
        }
    }
    for(int i=1;i<n;i++){
        cnt[i]+=cnt[i-1];
    }
    for(int i=1;i<=n;i++){
        cin>>a[i];
        ans^=a[i];
    }
    for(int i=1;i<n;i++){
        if(cnt[i]%2!=0){
            ans^=i;
        }
    }
    cout<<ans;
}
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    //freopen("input.txt","r",stdin);
    //freopen("output.txt","w",stdout);
    int T=1;
    //cin>>T;
    for(int TCS=1;TCS<=T;TCS++){
        solve(TCS);
    }
}
//Bismillah
//33 Subhanallah
//33 Alhamdulillah
//33 Allahu Akbar
/*

*/
