#include <iostream>
#include <stack>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> f(n + 1);
stack<int> zhan;
int ans = 0;
for (int i = 1; i <= n; ++i) {
cin >> f[i];
while (!zhan.empty() && f[i] >= f[zhan.top()]) {
ans ^= zhan.top();
zhan.pop();
}
zhan.push(i);
ans ^= i;
cout << ans << endl;
}
return 0;
}

京公网安备 11010502036488号