import sys from collections import defaultdict def main(): n = int(sys.stdin.readline()) a = list(map(int, sys.stdin.readline().split())) left = defaultdict(lambda: n) right = defaultdict(lambda: -1) for i in range(n): val = a[i] if left[val] == n: left[val] = i if right[val] < i: right[val] = i ts = list(left.keys()) ts.sort(reverse=True) parent = list(range(n + 2)) # 0 to n+1 b = [0] * n for t in ts: l = left[t] r = right[t] if l > r: continue cur = l while cur <= r: current_parent = find_parent(parent, cur) if current_parent > r: break b[current_parent] = t next_parent = find_parent(parent, current_parent + 1) parent[current_parent] = next_parent cur = current_parent + 1 print(' '.join(map(str, b))) def find_parent(parent, x): while parent[x] != x: parent[x] = parent[parent[x]] x = parent[x] return x if __name__ == '__main__': main()