#include using namespace std; using ll = long long; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b void vprint(T &V){ for(auto v : V){ cout << v << " "; } cout << endl; } ll dfs(vector A, ll b){ if(b<0){ return 0; } vector B; // bit : 0 vector C; // bit : 1 for(ll a : A){ if((a>>b) & 1){ C.push_back(a); }else{ B.push_back(b); } } if(B.size()==0 || C.size()==0){ return dfs(A, b-1); } else{ // bit = 1にしたとき ll mi0 = dfs(B, b-1) + 1LL<> N; vector A(N); FOR(i, 0, N){ cin >> A.at(i); } ll ans = dfs(A, 30); p(ans); return 0; }