#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
vector<int> v;
int dfs(int i, vector<int> &v) {
  vector<int> zero, one;
  if (i < 0 || v.size() == 0) return 0;
  for (auto &j : v) {
    if (j >> i & 1) {
      one.push_back(j);
    } else
      zero.push_back(j);
  }
  if (!one.size()) {
    return dfs(i - 1, zero);
  }
  if (!zero.size()) {
    return dfs(i - 1, one);
  }
  return min(dfs(i - 1, one), dfs(i - 1, zero)) | (1 << i);
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    int k;
    cin >> k;
    v.push_back(k);
  }
  cout << dfs(30, v);
  return 0;
}
