#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;
}