#include <cctype>
#include <cstdio>
#include <iostream>
#include <stack>
using namespace std;

const int MAX_N=3e6+5;
int readInt();
int a[MAX_N];
int ans[MAX_N];
stack<int>s;

int main(){
    const int n=readInt();
    for(int i=1;i<=n;i++){
        a[i]=readInt();
    }
    ans[n]=0;
    s.push(n);
    for(int i=n-1;i>=1;i--){
        if (a[i]>=a[s.top()]) {
            ans[i]=0;
            s.push(i);
        }else{
            ans[i]=s.top();
            while (s.size()>0&&a[s.top()]>a[i]) {
                s.pop();
            }
            s.push(i);
        }
    }
    for(int i=1;i<=n;i++){
        cout<<ans[i]<<" ";;
    }
    cout<<endl;
}

int readInt(){
    int x=0,w=1;
    char ch=0;
    while (!isdigit(ch)) {
        if(ch=='-')w=-1;
        ch=getchar();
    }
    while(isdigit(ch)){
        x=x*10+(ch-'0');
        ch=getchar();
    }
    return x*w;
}