n = int(input()) a = [0] + list(map(int, input().split())) #1スタート! for i in range(1, n + 1): if a[i] & ~i: print(-1) exit() x = 0 for k in range(n.bit_length()): m = 1 << k v = None for i in range(1, n + 1): if i & m: b = 1 if (a[i] & m) else 0 if v is None: v = b elif v != b: print(-1) exit() if v == 1: x |= m if x == 0: x = 1 << n.bit_length() print(x)