#include <bits/stdc++.h>
using namespace std;
 
#define fi first
#define se second
#define pb push_back
using vi = vector <int>;
using ll = long long;
using pii = pair <int, int>;
//~ const ll mod = 998244353;
const ll mod = 1e9 + 7;
ll qpow(ll a, ll b, ll m = mod) { ll r = 1, t = a;
	for(; b; b /= 2) { if(b & 1) r = r * t % m; t = t * t % m; } return r; }

int solve(vi v, int b) {
	if(v.size() == 0 || b == -1) return 0;
	
	vi l, r;
	for(int x : v)
		if((x >> b) & 1) l.pb(x - (1 << b));
		else r.pb(x);
	
	if(l.size() > r.size()) swap(l, r);
	
	if(l.size() == 0) return solve(r, b - 1);
	
	return min(solve(l, b - 1), solve(r, b - 1)) + (1 << b);
}

int main() {
	
	ios :: sync_with_stdio(false);
	
	int n; cin >> n;
	vi v(n);
	for(int i = 0; i < n; i ++)
		cin >> v[i];
	
	cout << solve(v, 30) << '\n';
}