from itertools import permutations def main(): N = int(input()) A = [int(input()) for _ in range(N)] for i, a in enumerate(A): if a >= N: cands = list(range(N)) ans = [-1]*N for j, b in enumerate(j, A): if i == j: continue if cands[-1] == b: ans.append(cands.pop(-2)) else: ans.append(cands.pop()) ans[i] = cands.pop() return ans for a, b in zip(A, A[1:]): if a != b: break else: # 全て同じ番号なら return [-1] if N == 1: return [0] elif N == 2: if A[0] == 0: return [1, 0] else: return [0, 1] idx = [0] for i, a in enumerate(A): if not i: continue if a != A[0]: idx.append(i) break for i in range(N): if i not in idx: idx.append(i) break ans = [-1]*N cands = list(range(N)) for i in range(N): if i in idx: continue if cands[-1] == A[i]: ans[i] = cands.pop(-2) else: ans[i] = cands.pop() for s in permutations(idx): for i in range(3): if A[s[i]] == cands[i]: break else: for i in range(3): ans[s[i]] = cands[i] return ans print(*main(), sep="\n")