버스 탈주 전쟁
Time Limit: 1 SecMemory Limit: 256 MiB

문제

대전대신고등학교 앞 버스 정류장에는 여러 노선의 버스가 다닌다. 각 버스 노선마다 첫차 시각과 배차 간격이 정해져 있다.

오량인은 현재 시각인 분에 버스 정류장에 도착했다. 오량인은 현재 시각 이후에 가장 빨리 탈 수 있는 버스가 언제 오는지 알고 싶어한다!

모든 버스는 첫차 시각부터 분까지 운행하며, 첫차 전에는 운행하지 않는다.

하지만 자정을 넘어가면, 다음 날의 첫차 시각부터 다시 동일한 패턴으로 운행이 재개된다. 즉, 오량인은 다음 날 첫차를 기다릴 수도 있다.

각 버스는 운행 시각 동안 정확히 배차 간격만큼 차이를 두고 출발한다.

이때, 현재 시각 이후에 가장 빠른 버스의 도착 시각을 출력해주는 프로그램을 오량인을 도와 작성해보자!

입력

첫번째 줄에 현재 시각 가 공백으로 구분되어 주어진다.

둘번째 줄에 버스 노선의 개수 이 주어진다.

셋번째 줄부터 개의 줄에 걸쳐 각 버스 노선의 첫차 시각의 시와 분을 의미하는 , 와 배차 간격을 의미하는 가 공백으로 구분되어 주어진다.

첫차 시각은 분 이상 분 이하이며, 배차 간격은 이상 이하의 정수이다.

출력

현재 시각 이후에 가장 빨리 도착하는 버스의 도착 시각을 형태로 출력한다. 단, 필요한 경우 자정을 넘어 다음 날의 첫차 시각도 고려한다.

노트

각 버스 노선의 첫차 시각과 배차 간격을 유심히 보도록 주의하자.

예제 번을 보자.

번째 버스의 첫차 시각은 분이고 배차 간격은 분이므로 분에 버스가 도착한다.

번째 버스의 첫차 시각은 분이고 배차 간격은 분이므로 매일 분에만 버스가 도착한다.

따라서 정답은 분이 된다.

첫차 시각이 빠른 버스라도 꼭 주의깊게 살펴보자.

Example Input 1
23 59
2
0 1 1
23 58 2
Example Output 1
23:59
Example Input 2
23 30
2
23 20 80
0 12 60
Example Output 2
00:12
Example Input 3
9 30
3
8 0 15
9 45 10
10 0 30
Example Output 3
09:30
Example Input 4
14 20
4
12 0 60
14 0 50
14 15 10
15 0 30
Example Output 4
14:25