#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
struct node{
int sum,num;
};
signed main(){
int n;
scanf("%d", &n);
stack<node> st;
int a;
int ans=0;
for(int i=1;i<=n;i++){
scanf("%d", &a);
while(!st.empty()&&st.top().sum<=a){
ans^=st.top().num;
st.pop();
}
st.push({a,i});
ans^=st.top().num;
cout<<ans<<endl;
}
return 0;
}