(정답코드 참조..)
import sys
from collections import deque
N = int(sys.stdin.readline())
A = list(map(int, sys.stdin.readline().split()))
stack = deque()
result = [-1]*N
#stack.append(0)
for i in range(N):
while stack and A[stack[-1]] < A[i]:
result[stack[-1]] = A[i]
stack.pop()
stack.append(i)
for i in result:
print(i, end=" ")