N = int(input()) A = [int(input()) for _ in range(N)] B = [[] for _ in range(N)] rem = [] cnt = 0 for i in range(N): if A[i] < N: B[A[i]].append(i) if len(B[A[0]]) == N: print(-1) exit() nu = [] C = [] for i in range(N): if B[i] == []: nu.append(i) else: C.append((len(B[i]),i)) C.sort() NC = len(C) nu.append(C[-1][1]) ans = [-1] * N for _,c in C: for b in B[c]: ans[b] = nu.pop() nu.append(c) for a in ans: print(a)