2012 {
2013 int n;
2014 int m;
2015 cin >> n >> m;
2016 int max_error = 0;
2017 vector<Problem> problems(m);
2018 for(int i = 0; i < m; i++) {
2025 char choice;
2026 cin >> choice;
2028 }
2030 problems[i] = p;
2031 }
2032 for(int i = 0; i < n; i++) {
2033 int score = 0;
2034 for(int j = 0; j < m; j++) {
2035 char ch;
2036 cin >> ch;
2037 int num;
2038 cin >> num;
2039 unordered_set<char> answer;
2040 for(int k = 0; k < num; k++) {
2041 char choice;
2042 cin >> choice;
2043 answer.insert(choice);
2044 }
2045 if(answer == problems[j].correct_choices) {
2046 score += problems[j].score;
2047 } else {
2048 problems[j].error_count++;
2049 max_error = max(max_error, problems[j].error_count);
2050 }
2051 cin >> ch;
2052 }
2053 cout << score << endl;
2054 }
2055 if(max_error == 0) {
2056 cout << "Too simple";
2057 } else {
2058 vector<int> max_problems;
2059 cout << max_error << ' ';
2060 for(int i = 0; i < m; i++) {
2061 if(problems[i].error_count == max_error) {
2062 max_problems.push_back(i + 1);
2063 }
2064 }
2065 for(int i = 0; i < max_problems.size(); i++) {
2066 cout << max_problems[i];
2067 if(i != max_problems.size() - 1) {
2068 cout << ' ';
2069 }
2070 }
2071 }
2072 return 0;
2073 }
unordered_set< char > correct_choices