심사위원의 경과 시간 계산

시간 제한1초메모리 제한128 MB

문제

대회는 정해진 시각에 시작해서 정해진 시간 동안 진행됩니다. 심사위원은 제출이 들어올 때마다 대회 시작 이후 몇 분이 지났는지 알려 주어야 합니다. 하지만 하루가 길어질수록 이 계산을 손으로 하다 보면 실수가 잦아집니다(3:21에 들어온 제출의 경과 시간을 얼마나 빨리 구할 수 있을까요?).

이를 확실하게 처리하기 위해, 심사위원은 대회가 시작하기 전에 미리 조회표를 만들어 강의실 앞에 붙여 둡니다. 표의 각 행은 제출 시각의 시(hour)에 대응합니다. 제출이 들어오면 심사위원은 제출 시각의 시에 해당하는 행을 찾아 오른쪽 열의 식을 적용합니다. 식에서 XX는 제출 시각의 분(minute)을 뜻하며, 이 식으로 경과한 분을 구합니다.

예를 들어 대회가 12:30에 시작한다면, 12:39에 들어온 제출은 12:XX | XX - 30 행을 사용해 39 - 30 = 9분이 경과한 것으로 계산합니다. 3:21에 들어온 제출은 3:XX | XX + 150 행을 사용해 21 + 150 = 171분이 경과한 것으로 계산합니다.

시각은 오전/오후 구분 없이 1부터 12까지의 12시간제로 표기하며, 12 다음 시는 1로 넘어갑니다. 대회 시작 시각과 진행 시간이 주어질 때 알맞은 표를 만드는 프로그램을 작성하세요.

입력

첫 줄에는 테스트 케이스의 수 $1 \le N \le 30$ 이 주어집니다. 이어서 $N$ 개의 줄이 주어지며, 각 줄에는 정수 $SH$, $SM$, $DH$, $DM$ 이 공백으로 구분되어 있습니다. $1 \le SH \le 12$ 와 $0 \le SM \le 59$ 는 각각 대회가 시작하는 시와 분을 나타냅니다. $0 \le DH \le 10$ 과 $0 \le DM \le 59$ 는 대회의 진행 시간을 시와 분으로 나타냅니다. 대회는 최소 1분, 최대 10시간 59분 동안 진행됩니다. 덕분에 시각에 오전/오후 표기를 생략할 수 있습니다.

출력

각 테스트 케이스마다 표를 출력합니다. 표는 다음과 같은 3줄의 머리글로 시작합니다.

------+---------
 time | elapsed
------+---------

그 뒤에는 제출이 들어올 수 있는 각 시(hour) 구간마다 한 줄씩 출력합니다. 각 자료 줄의 형식은 HH:XX | 식 입니다. 여기서 HH는 12시간제의 시이며(12 다음은 1로 넘어감), 폭 2의 오른쪽 정렬로 출력하므로 한 자리 시 앞에는 공백이 하나 붙습니다(예: 5:XX). 같은 이유로 머리글의 time 앞에도 공백이 하나 붙습니다. 식에서 XX는 제출 시각의 분을 뜻합니다. 더하는 값이 0이면 XX, 양수 $k$이면 XX + k, 음수 $-k$이면 XX - k 로 씁니다.

가장 이른 제출은 대회 시작 시각(경과 0분)이고, 가장 늦은 제출은 대회의 전체 진행 시간이 경과한 시점입니다. 이 범위에 포함되는 모든 시 구간에 대해 행을 출력하세요. 연속한 테스트 케이스의 표는 사이에 빈 줄 없이 이어서 출력합니다.