19세기 후반 이전까지 시간을 재는 일은 순전히 지역적인 문제였다. 각 마을은 매일 태양이 가장 높이 떴을 때를 정오로 삼아 시계를 맞추었고, 마을 시계나 시계공이 "공식" 시간을 관리했다. 주민들은 자신의 회중시계와 시계를 마을 시간에 맞추었으며, 일부 사람들은 정확한 시간을 알려 주는 시계를 들고 집집마다 돌며 매주 시계를 맞춰 주는 일을 하기도 했다. 다른 도시로 여행을 가면 도착하자마자 회중시계를 다시 맞춰야 했다.
철도가 사람들을 먼 거리까지 빠르게 실어 나르기 시작하면서 시간은 훨씬 더 중요해졌다. 철도 초기에는 역마다 서로 다른 지역 시간을 기준으로 삼아 시간표가 매우 혼란스러웠고, 따라서 철도를 효율적으로 운영하려면 시간을 표준화하는 일이 꼭 필요했다.
1878년, 캐나다의 샌퍼드 플레밍 경은 오늘날 우리가 사용하는 전 세계 시간대 체계를 제안했다. 그는 지구를 24개의 시간대로 나누고 각 시간대를 경도 15도 간격으로 두자고 제안했다. 지구는 24시간마다 360도를 한 바퀴 자전하므로, 매시간 원의 24분의 1인 경도 15도씩 회전한다.
미국의 철도 회사들은 1883년 11월 18일부터 플레밍의 표준 시간대를 사용하기 시작했다. 1884년에는 워싱턴 D.C.에서 국제 본초 자오선 회의가 열려 시간을 표준화하고 본초 자오선을 정했다. 회의는 영국 그리니치의 경도를 0도로 선택하고, 이를 기준으로 24개의 시간대를 정했다. 모든 나라가 곧바로 바꾼 것은 아니어서, 미국의 대부분 주는 1895년까지 태평양·산악·중부·동부 시간대를 따랐지만 그 사용이 의무화된 것은 1918년 표준시법에 이르러서였다.
오늘날 많은 나라가 플레밍이 제안한 시간대의 변형을 사용한다. (원래 5개 시간대에 걸치는) 중국 전역은 협정 세계시(UTC)보다 8시간 빠른 하나의 시간대를 사용한다. 러시아는 지정된 시간대를 따르되 전국이 항상 실제 시간대보다 1시간 빠르다. 오스트레일리아는 3개의 시간대를 사용하며, 그 중부 시간대는 지정된 시간대보다 30분 빠르다. 중동과 남아시아의 여러 나라도 30분 단위 시간대를 사용한다.
시간대는 경도 구간을 기준으로 하는데 경선은 극지방에서 한 점으로 모이기 때문에, 남극과 북극에서 일하는 과학자들은 그냥 UTC를 사용한다. 그렇지 않으면 남극 대륙은 매우 좁은 24개의 시간대로 나뉘게 될 것이다.
각 시간대에는 다음과 같은 표준 대문자 약어가 있습니다:
UTC Coordinated Universal Time
GMT Greenwich Mean Time, defined as UTC
BST British Summer Time, defined as UTC+1 hour
IST Irish Summer Time, defined as UTC+1 hour
WET Western Europe Time, defined as UTC
WEST Western Europe Summer Time, defined as UTC+1 hour
CET Central Europe Time, defined as UTC+1
CEST Central Europe Summer Time, defined as UTC+2
EET Eastern Europe Time, defined as UTC+2
EEST Eastern Europe Summer Time, defined as UTC+3
MSK Moscow Time, defined as UTC+3
MSD Moscow Summer Time, defined as UTC+4
AST Atlantic Standard Time, defined as UTC-4 hours
ADT Atlantic Daylight Time, defined as UTC-3 hours
NST Newfoundland Standard Time, defined as UTC-3.5 hours
NDT Newfoundland Daylight Time, defined as UTC-2.5 hours
EST Eastern Standard Time, defined as UTC-5 hours
EDT Eastern Daylight Saving Time, defined as UTC-4 hours
CST Central Standard Time, defined as UTC-6 hours
CDT Central Daylight Saving Time, defined as UTC-5 hours
MST Mountain Standard Time, defined as UTC-7 hours
MDT Mountain Daylight Saving Time, defined as UTC-6 hours
PST Pacific Standard Time, defined as UTC-8 hours
PDT Pacific Daylight Saving Time, defined as UTC-7 hours
HST Hawaiian Standard Time, defined as UTC-10 hours
AKST Alaska Standard Time, defined as UTC-9 hours
AKDT Alaska Daylight Saving Time, defined as UTC-8 hours
AEST Australian Eastern Standard Time, defined as UTC+10 hours
AEDT Australian Eastern Daylight Time, defined as UTC+11 hours
ACST Australian Central Standard Time, defined as UTC+9.5 hours
ACDT Australian Central Daylight Time, defined as UTC+10.5 hours
AWST Australian Western Standard Time, defined as UTC+8 hours
한 시간대의 현재 시각이 주어질 때, 다른 시간대의 시각을 계산하세요.
첫째 줄에 테스트 케이스의 수 $N$이 주어진다. 이어지는 $N$개의 줄에는 각각 시각 하나와 시간대 약어 두 개가 주어진다. 시각은 표준 오전/오후(a.m./p.m.) 형식으로 주어지며, 자정은 midnight, 정오는 noon으로 표기한다(12:00 a.m.과 12:00 p.m.은 의미가 모호하기 때문이다). 주어진 시각은 첫 번째 시간대의 현재 시각이다.
각 테스트 케이스에 대해, 두 번째 시간대에서의 시각을 입력과 같은 형식으로 한 줄에 하나씩 출력한다. 12:00 a.m.은 midnight, 12:00 p.m.은 noon으로 출력하고, 그 밖의 경우에는 h:mm a.m. 또는 h:mm p.m. 형식으로 출력한다. 이때 시 h에는 앞자리 0을 붙이지 않고, 분 mm은 항상 두 자리로 표기한다.