#include<cstdio>
#include<stack>
using namespace std;
const int maxn=1001000;
int n,a[3*maxn],f[3*maxn];
stack<int>s;
int main()
{
scanf("%d",&n);
for(int i=1; i<=n; i++) scanf("%d",a+i);
for(int i=1; i<=n; i++)
{
while(!s.empty()&&a[s.top()]<=a[i])f[s.top()]=i, s.pop();
s.push(i);
}
for(int i=1;i<=n;i++)printf("%d ",f[i]);
return 0;
}