#include using namespace std; using ll = long long; int solve(vector& v, int b) { if (b == -1) return 0; vector v0, v1; for (int x : v) { if (x & (1 << b)) { x -= (1 << b); v1.push_back(x); } else { v0.push_back(x); } } if (v0.size() == v.size()) return solve(v0, b-1); else if (v1.size() == v.size()) return solve(v1, b-1); else return (1 << b) + min(solve(v0, b-1), solve(v1, b-1)); } int main() { cin.tie(0); ios::sync_with_stdio(false); int n; cin >> n; vector v(n); for (int i = 0; i < n; i++) cin >> v[i]; cout << solve(v, 29) << endl; return 0; }