def ip():return int(input()) def mp():return map(int, input().split()) def lmp():return list(map(int, input().split())) # No.3249 AND N = ip() B = lmp() if N == 1 and B[0] == 0: print(2) exit() x = 0 for i, b in enumerate(B, 1): x |= i & b for i, b in enumerate(B, 1): if b != i & x: print(-1) exit() print(x)