#include <iostream>
#include <map>
#include <string>
#include <string.h>
#include <vector>
#include <algorithm>
using namespace std;
struct node
{
int flag, hour, minute, day, time;
};
int cmp(node n1, node n2)
{
return n1.time < n2.time;
}
int main()
{
double p[24], dayp = 0;
int i;
for(i = 0; i <= 23; i++)
{
scanf("%lf", &p[i]);
dayp += p[i] * 60;
}
int n;
scanf("%d", &n);
char name[30], flag[10];
map<string, vector<node>> m;
int month;
node nod;
for(i = 1; i <= n; i++)
{
getchar();
scanf("%s%d:%d:%d:%d%s", name, &month, &nod.day, &nod.hour, &nod.minute, flag);
if(flag[1] == 'n')
{
nod.flag = 1;
}
else
{
nod.flag = 0;
}
nod.time = nod.day * 24 * 3600 + nod.hour * 60 + nod.minute;
m[name].push_back(nod);
}
map<string, vector<node>> ::iterator it;
vector<node> v;
int size, first, minutes, j;
double sum, cur;
node n1, n2;
for(it = m.begin(); it != m.end(); it++)
{
v = it->second;
sort(v.begin(), v.end(), cmp);
size = v.size();
sum = 0;
first = 1;
for(i = 0; i < size; i++)
{
if(v[i].flag == 1 && i + 1 < size && v[i + 1].flag == 0)
{
if(first == 1)
{
first = 0;
printf("%s %02d\n", (it->first).c_str(), month);
}
cur = minutes = 0;
n1 = v[i];
n2 = v[i + 1];
if(n1.day != n2.day)
{
minutes += 60 - n1.minute;
cur += (60 - n1.minute) * p[n1.hour];
for(j = n1.hour + 1; j <= 23; j++)
{
minutes += 60;
cur += 60 * p[j];
}
for(j = n1.day + 1; j <= n2.day - 1; j++)
{
minutes += 24 * 60;
cur += dayp;
}
for(j = 0; j <= n2.hour - 1; j++)
{
minutes += 60;
cur += 60 * p[j];
}
minutes += n2.minute;
cur += n2.minute * p[n2.hour];
}
else if(n1.hour != n2.hour)
{
minutes += 60 - n1.minute;
cur += (60 - n1.minute) * p[n1.hour];
for(j = n1.hour + 1; j <= n2.hour - 1; j++)
{
minutes += 60;
cur += 60 * p[j];
}
minutes += n2.minute;
cur += n2.minute * p[n2.hour];
}
else
{
minutes += n2.minute - n1.minute;
cur += (n2.minute - n1.minute) * p[n1.hour];
}
cur /= 100;
sum += cur;
printf("%02d:%02d:%02d %02d:%02d:%02d %d $%.2lf\n", n1.day, n1.hour, n1.minute, n2.day, n2.hour, n2.minute, minutes, cur);
}
}
if(first == 0)
{
printf("Total amount: $%.2lf\n", sum);
}
}
system("pause");
return 0;
}