#include<bits/stdc++.h>
using namespace std;
const int N=3e7+5;
int n,x=1;
stack<int> s;
struct node{
int val,id;
}a[N],ans[N];
int main() {
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].val;
a[i].id=i;
ans[i].id=a[i].val;
while(s.size()!=0 && s.top()<a[i].val){
ans[x].val=a[i].id;
x++;
s.pop();
}
s.push(a[i].val);
}
while(s.size()!=0){
ans[s.top()].val=0;
s.pop();
}
for(int i=1;i<=n;i++)
cout<<ans[ans[i].id].val<<" ";
return 0;
}