N = input()
a = map(int,raw_input().split())
b = [0]*N
nxt = range(1,N+1); d = dict()
for i,v in enumerate(a):
	if v in d: d[v][1] = i
	else: d[v] = [i,i]
S = d.items()
S.sort(reverse = True)
for k,(l,r) in S:
	while l <= r:
		if b[l] == 0: b[l] = k
		nxt[l],l = r,nxt[l]
	nxt[r] = l
print " ".join(map(str,b))