import heapq n=int(input()) a=list(map(int,input().split())) ans=[0]*n v={} for i in range(n): if a[i] in v: v[a[i]][1]=i else: v[a[i]]=[i,i] hq=[] for i in sorted(v.keys()): heapq.heappush(hq,(v[i][0],v[i][1],i)) hq2=[] for i in range(n): if hq and hq[0][0]==i: a,b,c=heapq.heappop(hq) heapq.heappush(hq2,(-c,b)) while hq2[0][1]