N = int(input()) lsa = list(map(int,input().split())) def dfs(ls,p): if p < 0: return 0 A = [] B = [] T = ls[:] for j in T: if (j >> p) % 2 == 0: A.append(j) else: B.append(j) ans = 0 if (len(A) == 0) or (len(B) == 0): ans = dfs(T,p-1) else: ans = dfs(A,p-1) ans = min(ans,dfs(B,p-1)) ans += 1 << p return ans print(dfs(lsa,30))