//GNC #include #include #include #include #include #include #include using namespace std; typedef vector array; int main(void){ int N; ifstream cin("jurassic.in"); while(cin >> N && N != 0){ vector bones; for(int i = 0 ; i < N ; i ++){ string s; cin >> s; bones.push_back(s); } vector bones_bit(N); for ( int i=0 ; i maxboness; int max_i=0; for(int i = 0 ; i < (1 << bones.size()) ; i ++){ int j = i; //map counter; int counter=0; int taken=0; for(int t = 0 ; t < bones.size() ; t ++){ if(j % 2 == 0){ /*for(int k = 0 ; k < bones[t].size() ; k++){ counter[bones[t][k]] ++; }*/ counter ^= bones_bit[t]; taken++; } j /= 2; } /*bool succeed = true; for(int t = 'A' ; t <= 'Z' ; t++){ if(counter[t]%2 == 1){ succeed = false; } }*/ if(counter==0 ) {//succeed == true){ if(taken > maxbones){ maxbones = taken; max_i = i; } } } cout << maxbones << endl; if(maxbones > 0){ int j=max_i; vector maxboness; for ( int t=0 ; t