#include<iostream> #include<vector> using namespace std; int f(vector<int>a,int id) { if(a.size()==1)return 0; if(id==0)return 0; vector<int>x,y; for(int u:a) { if(u&id)x.push_back(u^id); else y.push_back(u); } if(x.empty())return f(y,id/2); else if(y.empty())return f(x,id/2); else { return id+min(f(x,id/2),f(y,id/2)); } } main() { int N; cin>>N; vector<int>A(N); for(int&a:A)cin>>a; cout<<f(A,1<<30)<<endl; }