//Armadno Vlajcic III Gimnazija
//Senior 3
//2012 contest 1
#include <iostream>
using namespace
std;
int main ()
{
int location;
double times[14], paid=0, working=0;
char timesC[14];
for (int i=0; i<5; i++){
working=paid=0;
cin>>location;
for (int
j=0; j<14;j++){
cin>>timesC[j];
if (timesC[j]>='1'
&& timesC[j]<='9')
times[j]=(timesC[j]-'0')*0.5+8.5;
else
times[j]=(timesC[j]-'A'+10)*0.5+8.5;
}
//LOKACIJE DO 200
if (location>=100 &&
location<200)
{
for (int
j=1; j<14; j+=2){
paid+=(times[j]-times[j-1])*10;
working+=times[j]-times[j-1];
}
if (working>30)
paid+=(working-30)*5;
if ((int)(paid*1000)%10>4)
paid+=0.01;
printf("$%.2f\n",
paid);
}
//LOKACIJE DO 300
else if (location>=200 &&
location<300)
{
for (int
j=1; j<14; j+=2){
paid+=(times[j]-times[j-1])*7.5;
working+=times[j]-times[j-1];
}
if (working>40){
paid+=(working-40)*15;
paid-=(working-40)*7.5;
}
if ((int)(paid*1000)%10>4)
paid+=0.01;
printf("$%.2f\n",
paid);
}
//LOKACIJE DO 400
else if (location>=300 &&
location<400)
{
for (int
j=1; j<14; j+=2){
paid+=(times[j]-times[j-1])*9.25;
working+=times[j]-times[j-1];
}
if (working>20){
paid+=(working-20)*10.5;
paid-=(working-20)*9.25;
}
if ((int)(paid*1000)%10>4)
paid+=0.01;
printf("$%.2f\n",
paid);
}
//LOKACIJE DO 500
else if (location>=400 &&
location<500)
{
for (int
j=1; j<14; j+=2){
if (j==1 || j==13)
paid+=(times[j]-times[j-1])*13.5;
else
paid+=(times[j]-times[j-1])*6.75;
}
if ((int)(paid*1000)%10>4)
paid+=0.01;
printf("$%.2f\n",
paid);
}
//LOKACIJE DO 600
else
{
for (int
j=1; j<14; j+=2){
paid+=(times[j]-times[j-1])*8;
working=times[j]-times[j-1];
if (working>6)
{
paid+=(working-6)*12;
paid-=(working-6)*8;
}
}
if ((int)(paid*1000)%10>4)
paid+=0.01;
printf("$%.2f\n",
paid);
}
}