#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
// 費率表:[方案A~E][時段0=Day, 1=Evening, 2=Night]
double rates[5][3] = {
{0.10, 0.06, 0.02}, // A
{0.25, 0.15, 0.05}, // B
{0.53, 0.33, 0.13}, // C
{0.87, 0.47, 0.17}, // D
{1.44, 0.80, 0.30} // E
};
// 判斷某個「分鐘數」屬於哪一個時段
int get_period(int m) {
m %= 1440; // 處理跨日超過 1440 分鐘的情況
if (m >= 480 && m < 1080) return 0; // 08:00 ~ 18:00 Day
if (m >= 1080 && m < 1320) return 1; // 18:00 ~ 22:00 Evening
return 2; // 22:00 ~ 08:00 Night
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
char type;
while (cin >> type && type != '#') {
string phone_number;
int sh, sm, eh, em;
cin >> phone_number >> sh >> sm >> eh >> em;
int start_time = sh * 60 + sm;
int end_time = eh * 60 + em;
// 關鍵陷阱 1:時間相同代表講了整整 24 小時
if (end_time == start_time) {
end_time += 1440;
}
// 關鍵陷阱 2:結束時間小於開始時間,代表跨日
else if (end_time < start_time) {
end_time += 1440;
}
int day_mins = 0, eve_mins = 0, nite_mins = 0;
// 逐分鐘模擬統計
for (int m = start_time; m < end_time; m++) {
int period = get_period(m);
if (period == 0) day_mins++;
else if (period == 1) eve_mins++;
else nite_mins++;
}
// 計算總費用
int rate_idx = type - 'A';
double total_cost = day_mins * rates[rate_idx][0] +
eve_mins * rates[rate_idx][1] +
nite_mins * rates[rate_idx][2];
// 嚴格的排版輸出
// 各欄位寬度:電話(10), 日間(6), 傍晚(6), 夜間(6), 費率(3), 總價(8, 小數點後2位)
cout << setw(10) << phone_number
<< setw(6) << day_mins
<< setw(6) << eve_mins
<< setw(6) << nite_mins
<< setw(3) << type
<< setw(8) << fixed << setprecision(2) << total_cost << "\n";
}
return 0;
}