N=int(input()) A=[int(i) for i in input().split()] ''' Y=0 できない Y=2**30 できる max(A)=(1<<(k-1)): return solve([x^(1<<(k-1)) for x in B],k-1) for x in B: if (x>>(k-1))&1: ONE.append(x^(1<<(k-1))) else: ZERO.append(x) return (1<<(k-1))+min(solve(ONE,k-1),solve(ZERO,k-1)) ans=solve(A,30) print(ans)