#include<bits/stdc++.h>
using namespace std;
string id,s;
int checkid(string id){
int num=0;
for(int i=0;i<id.size();i++){
num*=2;
num+=id[i]-'0';
}
return num;
}
int n,a[105];
int main(){
int t;
cin>>t>>n;
cin>>s;
for(int i=0;i<s.size();i++)a[i+1]=s[i]-'A'+1;
while(t--){
string type;
string student_answer[105];
int cnt,answer,correct=0;
cin>>id;
cin>>type;
for(int i=1;i<=n;i++)cin>>student_answer[i];
bool flag=0;
if(checkid(id)>=1&&checkid(id)<=10000)cout<<"ID:"<<checkid(id)<<endl;
else{
cout<<"Wrong ID\n";
flag=1;
}
if(!flag){
if(id[id.size()-1]=='0'){
if(type[0]=='1'&&type[1]=='0')cout<<"Type Correct\n";
else cout<<"Type Incorrect\n";
}
if(id[id.size()-1]=='1'){
if(type[0]=='0'&&type[1]=='1')cout<<"Type Correct\n";
else cout<<"Type Incorrect\n";
}
for(int i=1;i<=n;i++){
cnt=0;
for(int j=0;j<student_answer[i].size();j++)if(student_answer[i][j]=='1')cnt++;
if(cnt==1){
for(int j=0;j<student_answer[i].size();j++)if(student_answer[i][j]=='1')answer=j+1;
if(answer==a[i])correct++;
}else{
continue;
}
}
double mark=100.0/n*correct;
printf("%.1f\n\n",mark);
}
}
}