/*
*
*求给定无序数组中每个元素的右侧最近的更大的一个数
*如给定数组 5 6 2 4 8 中,元素6 对应的answer是8
*原题 http ://codeforces.com/gym/101343/problem/H
*/
#include<set> //超时
#include<algorithm>
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int n;
int num[100010];
while (~scanf("%d", &n))
{
for (int i = 0; i < n; i++)
{
scanf("%d",&num[i]);
}
for (int i = 0; i < n - 1; i++)
{
int j;
for (j = i + 1; j < n; j++)
if (num[j] > num[i])
break;
if (j == n)
printf("-1 ");
else
printf("%d ",num[j]);
}
printf("-1\n");
}
return 0;
}