#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n;
int st[N];
// 单调栈
int main(){
memset(st, 0x00, sizeof st);
int top=0;
cin>>n;
for(int i=0; i<n; ++i){
int x;
cin>>x;
while(top && st[top]>=x){
top--;
}
if(top>0) cout<<st[top]<<" ";
else cout<<"-1"<<" ";
st[++top]=x;
}
return 0;
}