#include <bits/stdc++.h>
using namespace std;
const int maxn=3e6+7;
int a[maxn],ans[maxn];
int main()
{
int n;
scanf("%d",&n); //读入数据量
for(int i=0; i<n; i++){
scanf("%d",&a[i]);
}
stack<int> m;
m.push(0);
for(int i=1; i<n; i++){
while(!m.empty() && a[i]>a[m.top()]){
ans[m.top()]=i;
m.pop();
}
m.push(i);
}
// printf("haha");
while(!m.empty()){
ans[m.top()]=-1;
m.pop();
}
for(int i=0; i<n; i++){
printf("%d ",ans[i]+1);
}
return 0;
}