#include<iostream>
#include<algorithm>
#include<unordered_map>
using namespace std;
const int N=2004;
unordered_map <string,vector<int>> map;
int n,m;
char sub[4]={'A','C','M','E'};
struct peo
{
string id;
int c,m,e,a;
}stu[N];
bool cmpa(peo aa,peo bb)
{
return aa.a>bb.a;
}
bool cmpc(peo aa,peo bb)
{
return aa.c>bb.c;
}
bool cmpm(peo aa,peo bb)
{
return aa.m>bb.m;
}
bool cmpe(peo aa,peo bb)
{
return aa.e>bb.e;
}
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
string q;
int w,e,r,t;
cin>>q>>w>>e>>r;
t=(w+e+r)/3;
stu[i]={q,w,e,r,t};
}
sort(stu,stu+n,cmpa);
for(int i=0;i<n;i++)
{
int j=i;
while(j&&stu[j].a==stu[j-1].a) j--;
map[stu[i].id].push_back(j);
}
sort(stu,stu+n,cmpc);
for(int i=0;i<n;i++)
{
int j=i;
while(j&&stu[j].c==stu[j-1].c) j--;
map[stu[i].id].push_back(j);
}
sort(stu,stu+n,cmpm);
for(int i=0;i<n;i++)
{
int j=i;
while(j&&stu[j].m==stu[j-1].m) j--;
map[stu[i].id].push_back(j);
}
sort(stu,stu+n,cmpe);
for(int i=0;i<n;i++)
{
int j=i;
while(j&&stu[j].e==stu[j-1].e) j--;
map[stu[i].id].push_back(j);
// map[stu[i].id].push_back(i);
}
while(m--)
{
string temp;
cin>>temp;
if(!map.count(temp))
{ cout<<"N/A"<<endl;; continue;}
int t=-1,k=-1;
for(int i=0;i<4;i++)
if(t==-1||map[temp][i]<t)
{
t=map[temp][i],k=i;
}
cout<<t+1<<' '<<sub[k]<<endl;
}
return 0;
}