#include<iostream>#include<string>#include<cctype>usingnamespace std;intmain(){int N, M, cnt, xuanze, score, flag, max=0;
cin >> N >> M;
string str[M+1], huida[N+1];int cuoti[M+1]={0};for(int l =0; l <= M; l++){getline(cin, str[l]);//getline()读取了第一行的回车,导致后面读取少了一个循环没有读到 // 因为getline要吃到一个回车,所以只能用M+1,空间也只能用M+1 }for(int i =0; i < N; i++){getline(cin, huida[i]);
cnt =0, score =0;for(int j =0; j < huida[i].length(); j++){if(huida[i][j]=='('){
cnt++;
flag =0;
xuanze = huida[i][j+1]-'0';//turn char-num to int numfor(int k =0; k < xuanze*2+1; k++){if(huida[i][j+1+k]!= str[cnt][4+k]){
flag =1;
cuoti[cnt]++;if(cuoti[cnt]> max){
max = cuoti[cnt];}break;}}if(flag ==0) score += str[cnt][0]-'0';}}printf("%d\n", score);}if(max ==0)printf("Too simple");else{printf("%d", max);for(int m =0; m < M+1; m++){if(cuoti[m]== max)printf(" %d", m);}}return0;}