#include using namespace std; #include using namespace atcoder; #define rep(i, n) for (ll i = 0; i < (n); ++i) #define rep1(i, n) for (ll i = 1; i <= n; ++i) #define reps(i, s, e) for (ll i = s; i <= e; ++i) using ll = long long; using ld = long double; using cp = complex; using pa = pair; using tup = tuple; using vp = vector>; using vtup = vector>; using st = string; using vs = vector; using vc = vector; using vvi = vector>; using vvc = vector>; using vi = vector; const ll MOD1 = 1000000007; const ll MOD2 = 998244353; const ll INF = (1LL << 60); int main() { ll n; cin >> n; vi a(n); rep(i, n) cin >> a[i]; for (int i = 0;; i++) { ll t = 1LL << i; bool valid = true; rep(j, n) { if (a[j] & t) { valid = false; break; } } if (valid) { cout << t << endl; break; } } }