//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);

                  }

           

            }