USD Contest - Fall 1

Start

2017-09-14 00:00 CEST

USD Contest - Fall 1

End

2017-09-21 00:00 CEST
The end is near!
Contest is over.
Not yet started.
Contest is starting in -71 days 0:05:24

Time elapsed

168:00:00

Time remaining

0:00:00

Problem D
Busy Schedule

You have a busy schedule to keep up with. Every time you make a new appointment, you scribble the starting time down on a little note pad. At the start of every day (12:00 a.m.), you sort the appointments for that day from earliest to latest and then go to sleep. Instead of having to be up at midnight every night to sort your appointments, you decide this would be a good job for your computer.

Input

Input contains at most $100$ test cases. Each test case describes the appointments for a single day, starting with a line containing the number of appointments $1 \leq n \leq 100$. Following this are $n$ lines, each containing one appointment time. Each appointment time has the format H:M Z where H is an integer in the range $[1, 12]$ representing the hour, M is a zero-padded two-digit integer in the range $[00, 59]$ representing the minute, and and Z is either ‘a.m.’ or ‘p.m.’ representing times before or after mid-day, respectively. The sequence of test cases ends with a value of zero for $n$.

Output

For each test case, output the sequence of event starting times sorted from earliest to latest in the day, one per line. Format times in the same way as the input. Separate adjacent test case outputs with a blank line.

Sample Input 1 Sample Output 1
5
3:00 a.m.
3:00 p.m.
12:00 a.m.
11:59 a.m.
12:00 p.m.
3
3:30 p.m.
9:30 a.m.
3:30 p.m.
0
12:00 a.m.
3:00 a.m.
11:59 a.m.
12:00 p.m.
3:00 p.m.

9:30 a.m.
3:30 p.m.
3:30 p.m.