#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct node{
char name[12];
long long val;
}s[100000+5],h[100000+5];
int cmp(const void *x,const void *y){
struct node nx=*(struct node*)x;
struct node ny=*(struct node*)y;
return nx.val-ny.val;
}
int main(){
int n,m;
scanf("%d%d",&n,&m);
int f=n+m;
int cnth=0,cnts=0;
while(f--){
char name[12],c;
long long val;
scanf("%s %c %lld",name,&c,&val);
if(c=='H'){
cnth++;
strcpy(h[cnth].name,name);
h[cnth].val=val;
}
else{
cnts++;
strcpy(s[cnts].name,name);
s[cnts].val=val;
}
}
qsort(h+1,cnth,sizeof(h[0]),cmp);
qsort(s+1,cnts,sizeof(s[0]),cmp);
printf("%s\n",h[3].name);
for(int i=6;i<=9;i++){
printf("%s\n",s[i].name);
}
return 0;
}