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 N = len(A) rank_upper_bound = min(digits, N) for rank in range(1, rank_upper_bound + 1): Ar = max(A) if Ar == 0: rank -= 1 break index = 1 << (len(bin(Ar)) - 3) for i in range(N): if A[i] & index: A[i] ^= Ar return 1 << rank A = read_data() print(solve(A))