#include <iostream>
#include <stack>
using namespace std;
stack<int> num;
int n;
int main()
{
cin >> n;
while(n -- )
{
int x;
scanf("%d", &x);
//构造单调递增的栈
while(num.size() && num.top() >= x) num.pop();
if(num.size()) cout << num.top() << " ";
else cout << -1 << " ";
num.push(x);
}
return 0;
}