import bisect N=input() A=list(set(map(int,input().split()))) A.sort() def f(i,b,e): if i==1 or e<=b: return 0 j=i>>1 if not(A[e-1]&j) or A[b]&j: return f(j,b,e) m=bisect.bisect_left(A,-i&A[b]|j,b,e) return j+min(f(j,b,m),f(j,m,e)) print(f(1<