#include using namespace std; int dfs(int d,vector a){ if(d<0) return 0; vector b,c; for(int i=0;i<(int)a.size();i++){ if((a[i]>>d)%2==0) b.push_back(a[i]); else c.push_back(a[i]); } if(b.empty()||c.empty()) return dfs(d-1,a); return (1<>n; vector a(n); for(int i=0;i>a[i]; cout<