#include <stdio.h>
int stack[500000][2];
int top=-1;
void push(int h,int num)
{
stack[++top][0]=h;
stack[top][1]=num;
}
int pop()
{
if(top!=-1) return stack[top--];
}
int main()
{
int n, h, i, sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&h);
int t=top;
while(t!=-1&&stack[t][0]<=h)
{
pop();
t--;
}
if(top==-1) printf("0 ");
else printf("%d ",stack[top][1]);
push(h,i);
}
return 0;
}



