N=int(input()) A=[int(input()) for i in range(N)] ANS=[-1]*N QS=[set(range(N)) for i in range(N)] for i in range(N): if A[i]<N: QS[A[i]].discard(i) count=0 while count<N: flag=0 for i in range(N): if len(QS[i])==1: x=QS[i].pop() ANS[x]=i count+=1 for j in range(N): QS[j].discard(x) break else: for i in range(N): if QS[i]==set(): continue x=QS[i].pop() ANS[x]=i count+=1 QS[i]=set() for j in range(N): QS[j].discard(x) break else: print(-1) exit() for ans in ANS: print(ans)