#include<iostream>
#include<cstring>
#include<map>
#include<cmath>
using namespace std;
const long long N=1e4+5;
map<string,long long> ans;
long long n;
string p[N];
map<string,char> xingbie;
long long PEexam;
void Part1(int i){
cin>>PEexam;
ans[p[i]]+=PEexam;
}
char runexam[6];
void Part2(int i){
cin>>runexam;
long long s=0;
long long pd=0,si=1;
for(int j=strlen(runexam)-2;j>=0;j--){
if('0'<=runexam[j]&&runexam[j]<='9'){
if(pd==0) s+=si*(runexam[j]-'0');
else s+=60*si*(runexam[j]-'0');
si*=10;
}
else si=1,pd=1;
}
if(xingbie[p[i]]=='M'){
if(s<=750) ans[p[i]]+=20;
else if(s<=780) ans[p[i]]+=18;
else if(s<=810) ans[p[i]]+=16;
else if(s<=840) ans[p[i]]+=14;
else if(s<=880) ans[p[i]]+=12;
else if(s<=920) ans[p[i]]+=10;
else if(s<=960) ans[p[i]]+=8;
else if(s<=1000) ans[p[i]]+=6;
else if(s<=1040) ans[p[i]]+=4;
else if(s<=1080) ans[p[i]]+=2;
}
else{
if(s<=400) ans[p[i]]+=20;
else if(s<=417) ans[p[i]]+=18;
else if(s<=434) ans[p[i]]+=16;
else if(s<=451) ans[p[i]]+=14;
else if(s<=470) ans[p[i]]+=12;
else if(s<=485) ans[p[i]]+=10;
else if(s<=500) ans[p[i]]+=8;
else if(s<=515) ans[p[i]]+=6;
else if(s<=530) ans[p[i]]+=4;
else if(s<=540) ans[p[i]]+=2;
}
}
char tizhi;
void Part3(int i){
cin>>tizhi;
if(tizhi=='P') ans[p[i]]+=10;
}
long long fexam;
void Part4(int i){
cin>>fexam;
ans[p[i]]+=fexam;
}
map<string,long long> c;
long long m;
long long date;
string mp;
double km;
double bushu;
const long long month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
long long change1(long long date){
long long mon=date/100%100-1;
long long day=date%100-1;
for(int i=1;i<=mon;i++)
day+=month[i];
return day;
}
char starttime[10],endtime[10];
long long stime,etime;
void change2(){
stime=0,etime=0;
cin>>starttime>>endtime;
stime+=((starttime[0]-'0')*10+(starttime[1]-'0'))*60*60;
stime+=((starttime[3]-'0')*10+(starttime[4]-'0'))*60;
stime+=((starttime[6]-'0')*10+(starttime[7]-'0'));
etime+=((endtime[0]-'0')*10+(endtime[1]-'0'))*60*60;
etime+=((endtime[3]-'0')*10+(endtime[4]-'0'))*60;
etime+=((endtime[6]-'0')*10+(endtime[7]-'0'));
}
long long tz;
char tingzhi[10];
void change3(){
tz=0;
cin>>tingzhi;
long long pd=0,si=1;
for(int j=strlen(tingzhi)-1;j>=0;j--){
if('0'<=tingzhi[j]&&tingzhi[j]<='9'){
if(pd==0) tz+=si*(tingzhi[j]-'0');
else tz+=60*si*(tingzhi[j]-'0');
si*=10;
}
else si=1,pd=1;
}
}
map<string,long long> sunrun;
map<string,long long> lasttime;
bool pd1(char xb,double km){
if(xb=='M'){
if(km>=3.0) return true;
return false;
}
else{
if(km>=1.5) return true;
return false;
}
}
bool pd2(double km,double ti){
double v=km/ti;
if(2<=v&&v<=5) return true;
return false;
}
bool pd3(double ting){
if(ting<=270) return true;
return false;
}
bool pd4(double km,double bushu){
double bufu=km/bushu;
if(bufu<=1.5) return true;
return false;
}
bool pd5(long long lasttime,long long nowtime){
if(nowtime-lasttime>=6*60*60) return true;
return false;
}
void jssunrun(){
if(pd1(xingbie[mp],km)&&pd2(km*1000,etime-stime)&&pd3(tz)&&pd4(km*1000,bushu)&&pd5(lasttime[mp],date+stime-etime)){
lasttime[mp]=date;
sunrun[mp]+=1;
}
}
void Part5(int i){
if(sunrun[p[i]]>=21) ans[p[i]]+=10;
else if(sunrun[p[i]]>=19) ans[p[i]]+=9;
else if(sunrun[p[i]]>=17) ans[p[i]]+=8;
else if(sunrun[p[i]]>=14) ans[p[i]]+=7;
else if(sunrun[p[i]]>=11) ans[p[i]]+=6;
else if(sunrun[p[i]]>=7) ans[p[i]]+=4;
else if(sunrun[p[i]]>=3) ans[p[i]]+=2;
}
void Part6(int i){
long long s=sunrun[p[i]]+c[p[i]];
if(s>=18) ans[p[i]]+=5;
else if(s>=15) ans[p[i]]+=4;
else if(s>=12) ans[p[i]]+=3;
else if(s>=9) ans[p[i]]+=2;
else if(s>=6) ans[p[i]]+=1;
}
void _cout(){
for(int i=1;i<=n;i++){
cout<<p[i]<<" "<<ans[p[i]]<<" ";
if(ans[p[i]]>=95) cout<<"A";
else if(ans[p[i]]>=90) cout<<"A-";
else if(ans[p[i]]>=85) cout<<"B+";
else if(ans[p[i]]>=80) cout<<"B";
else if(ans[p[i]]>=77) cout<<"B-";
else if(ans[p[i]]>=73) cout<<"C+";
else if(ans[p[i]]>=70) cout<<"C";
else if(ans[p[i]]>=67) cout<<"C-";
else if(ans[p[i]]>=63) cout<<"D+";
else if(ans[p[i]]>=60) cout<<"D";
else cout<<"F";
cout<<endl;
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>p[i],lasttime[p[i]]=-21601;
cin>>xingbie[p[i]];
Part1(i);
Part2(i);
Part3(i);
Part4(i);
cin>>c[p[i]];
}
cin>>m;
while(m--){
cin>>date;
date=change1(date);
date=date*24*60*60;
cin>>mp;
change2();
cin>>km;
change3();
cin>>bushu;
jssunrun();
}
for(int i=1;i<=n;i++){
Part5(i);
Part6(i);
}
_cout();
return 0;
}