#include <bits/stdc++.h>
using namespace std;
long long int gcd(long long int a, long long int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
int minn(int a, int b) {
  if (a < b) return a;
  return b;
}
int a[100005], n;
bool ans[32];
int func(int bit = 29, int st = 0, int end = n) {
  if (bit < 0) return 0;
  if (st == end) return 0;
  int i;
  sort(a + st, a + end);
  for (i = st; i < end; i++) {
    if ((a[i] & (1 << bit)) > 0) break;
  }
  if (i == st || i == end)
    return func(bit - 1, st, end);
  else
    return minn(func(bit - 1, st, i), func(bit - 1, i, end)) + (1 << bit);
}
int main() {
  while (cin >> n) {
    int i;
    for (i = 0; i < n; i++) cin >> a[i];
    cout << func() << endl;
  }
}
