#include <iostream>
using namespace std;
struct P{int h, p;};
int main() {
ios_base::sync_with_stdio(false);
int n, i, j, x; cin >> n;
P f[n];
int rb = 0;
cout << "0 "; cin >> f[0].h; f[0].p = 1;
for(i = 1; i < n; i++)
{
cin >> x;
if(x <= f[0].h) {cout << "0 "; rb = 0; f[rb].h = x; f[rb].p = i+1;}
else if(x > f[rb].h) {cout << f[rb++].p << " "; f[rb].h = x; f[rb].p = i+1;}
else if(x == f[rb].h) {cout << f[rb-1].p << " "; f[rb].h = x; f[rb].p = i+1;}
else
{
while(1)
{
if(x <= f[rb].h) rb--;
else break;
}
cout << f[rb++].p << " ";
f[rb].h = x; f[rb].p = i+1;
}
}
return 0;
}