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