// yukicoder 130 (http://yukicoder.me/problems/282) #include #include #include #define rep(i,a) for(int i=0;i<(a);++i) #define all(a) (a).begin(), (a).end() const int MAX_N = 100000; int N; std::vector a; int f( int d, std::vector &S ) { if( S.size() <= 1 ) return 0; std::vector T[2]; rep( i, S.size() ) T[S[i]>>d&1].push_back( S[i]^(S[i]&(1<