def read_data(): N = int(input()) A = list(set(map(int, input().split()))) return A def solve(A): digits = len(bin(max(A))) - 2 index = 1 << digits rank_upper_bound = min(digits, len(A)) for rank in range(rank_upper_bound + 1): A.sort(reverse=True) Ar = A[rank] if Ar == 0: break while index and not Ar & index: index >>= 1 for i in range(rank + 1, len(A)): if not A[i] & index: break A[i] ^= Ar return 1 << rank N, A = read_data() print(solve(A))