#include <iostream>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;
struct STU{
int grade[4];
int rk[4];
string id;
};
int now=0;
char mp[]={'A','C','M','E'};
bool cmp(STU a,STU b)
{
return a.grade[now]>b.grade[now];
}
void print(STU a)
{
int index=0;
for(int i=0;i<4;i++){
if(a.rk[i]<a.rk[index]) index=i;
}
cout<<a.rk[index]<<' '<<mp[index]<<endl;
}
int main()
{
int n,m,i,j;
cin>>n>>m;
STU stu[n];
for(i=0;i<n;i++){
cin>>stu[i].id>>stu[i].grade[1]>>stu[i].grade[2]>>stu[i].grade[3];
stu[i].grade[0]=(stu[i].grade[1]+stu[i].grade[2]+stu[i].grade[3])/3;
}
for(i=0;i<4;i++){ //分别以average cpl math english排名
now=i;
sort(stu,stu+n,cmp);
stu[0].rk[i]=1;
for(j=1;j<n;j++){
if(stu[j].grade[i]==stu[j-1].grade[i]){
stu[j].rk[i]=stu[j-1].rk[i];
}else{
stu[j].rk[i]=j+1;
}
}
}
string s;
for(i=0;i<m;i++){
cin>>s;
for(j=0;j<n;j++){
if(stu[j].id==s){
print(stu[j]);
break;
}
}
if(j==n) cout<<"N/A"<<endl;
}
return 0;
}
m,n过大可能会超时,但是没有选择空间换时间,但但是测试点都能过(数组开大了心疼?)