#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn=1010;
int toll[25];
struct record
{
char name[25];
int mon,dd,hh,mm;
bool status;
}rec[maxn],temp;
bool cmp(record a,record b)
{
int s=strcmp(a.name,b.name);
if(s!=0) return s<0;
else if(a.mon!=b.mon) return a.mon<b.mon;
else if(a.dd!=b.dd) return a.dd<b.dd;
else if(a.hh!=b.hh) return a.hh<b.hh;
else return a.mm<b.mm;
}
void get_ans(int on,int off,int &time,int &money)
{
temp=rec[on];
while(temp.dd<rec[off].dd||temp.hh<rec[off].hh||temp.mm<rec[off].mm)
{
time++;
money+=toll[temp.hh];
temp.mm++;
if(temp.mm>=60)
{
temp.mm=0;
temp.hh++;
}
if(temp.hh>=24)
{
temp.hh=0;
temp.dd++;
}
}
}
int main()
{
for(int i=0;i<24;i++)
{
scanf("%d",&toll[i]);
}
int n;
scanf("%d",&n);
char line[10];
for(int i=0;i<n;i++)
{
scanf("%s",rec[i].name);
scanf("%d:%d:%d:%d",&rec[i].mon,&rec[i].dd,&rec[i].hh,&rec[i].mm);
scanf("%s",line);
if(strcmp(line,"on-line")==0)
{
rec[i].status=true;
}
else rec[i].status=false;
}
sort(rec,rec+n,cmp);
int on=0,off,next;
while(on<n)
{
int needprint=0;
next=on;
while(next<n&&strcmp(rec[next].name,rec[on].name)==0)
{
if(needprint==0&&rec[next].status==true)
{
needprint=1;
}
else if(needprint==1&&rec[next].status==false)
{
needprint=2;
}
next++;
}
if(needprint<2)
{
on=next;
continue;
}
int allmoney=0;
printf("%s %02d\n",rec[on].name,rec[on].mon);
while(on<next)
{
while(on<next-1 && !(rec[on].status==true&&rec[on+1].status==false))
{
on++;
}
off=on+1;
if(off==next)
{
on=next;
break;
}
printf("%02d:%02d:%02d ",rec[on].dd,rec[on].hh,rec[on].mm);
printf("%02d:%02d:%02d ",rec[off].dd,rec[off].hh,rec[off].mm);
int time=0;
int money=0;
get_ans(on,off,time,money);
allmoney+=money;
printf("%d $%.2f\n",time,money/100.0);
on=off+1;
}
printf("Total amount: $%.2f\n",allmoney/100.0);
}
return 0;
}