#include <bits/stdc++.h>
using namespace std;
void next_greater(vectora,int n){
vector v;
stack s;
s.push(-1);
for(int i = n -1; i>= 0; i--){
while(s.top() <= a[i] && s.top() != -1){
s.pop();
}
v.push_back(s.top());
s.push(a[i]);
}
for(int i = n-1; i>=0; i--){
cout << v[i] << " ";
}
}
int main() {
int n;
cin >> n;
vectora;
for( int i = 0; i <n; i++){
int no;
cin >> no;
a.push_back(no);
}
next_greater(a,n);
return 0;
}