도시의 대중교통망(버스망, 트램망, 지하철망 등)을 그래프로 나타내자. 그래프의 정점은 1,2,…,n번으로 번호가 매겨진 정거장에 대응하고, 간선 (pi,pj)(pi=pj)는 정거장 pi와 pj 사이에 직접 연결이 있음을 뜻한다(1≤pi,pj≤n).
교통 노선은 1,2,…,k번으로 번호가 매겨진다. l번 노선은 차량이 정차하는 정거장의 열 pl,1,pl,2,…,pl,sl과, 이웃한 정거장 사이를 이동하는 데 걸리는 시간 rl,1,rl,2,…,rl,sl−1로 정의된다. rl,1은 정거장 pl,1에서 pl,2로(또는 그 반대로) 가는 데 걸리는 시간이고, rl,2는 pl,2에서 pl,3으로 가는 시간이며, 이런 식으로 이어진다. 한 노선에 속한 정거장은 모두 서로 다르다(즉 i=j이면 pl,i=pl,j).
l번 노선의 차량은 일정한 배차 간격 cl로 운행하며, cl은 집합 {6,10,12,15,20,30,60}의 원소이다. 차량은 하루 종일 매시 정각(정각을 g시 0분이라 하면 0≤g≤23)에 정거장 pl,1에서 출발하고, 그 뒤로는 배차 간격에 맞춰 정각으로부터 cl분 뒤, 2cl분 뒤, ... 에 출발한다. l번 노선의 차량은 두 방향, 즉 pl,1에서 pl,sl 방향과 pl,sl에서 pl,1 방향으로 모두 운행한다. pl,sl에서 출발하는 차량의 출발 시각도 pl,1에서와 동일하다.
이 교통망에서 출발 정거장 x에서 도착 정거장 y까지 이동하려고 한다. 이 이동은 항상 가능하며 24시간을 넘기지 않는다고 가정한다. 이동 중에는 원하는 만큼 여러 번 노선을 갈아탈 수 있다. 환승 자체에 걸리는 시간은 0이지만, 갈아탈 때 타려는 차량을 기다리는 시간은 고려해야 한다. 목표는 출발 정거장 x에서 도착 정거장 y까지 가능한 한 빨리 도착하는 것이다.
예를 들어 보자. 아래 그림은 정거장이 6개이고 노선이 1번과 2번 두 개인 교통망을 나타낸다. 1번 노선의 차량은 정거장 1,3,4,6 사이를, 2번 노선의 차량은 정거장 2,4,3,5 사이를 운행한다. 배차 간격은 각각 c1=15, c2=20이다. 정거장 사이의 이동 시간은 각 간선 옆에 적혀 있으며, 노선을 구분하기 위해 1번과 2번 첨자가 붙어 있다.

23시 30분에 정거장 5번에 있고 정거장 6번으로 가려 한다고 하자. 10분을 기다린 뒤 23시 40분에 2번 노선을 탈 수 있다. 이때 두 가지 경로가 있다. 첫 번째는 23시 51분에 정거장 3번에 도착해 3분을 기다린 뒤 23시 54분에 1번 노선으로 갈아타 다음 날 0시 16분에 정거장 6번에 도착하는 것이다. 두 번째는 2번 노선을 계속 타서 0시 8분에 정거장 4번에 도착한 뒤 13분을 기다려 0시 21분에 1번 노선을 타고 0시 31분에 정거장 6번에 도착하는 것이다. 따라서 정거장 6번에 가장 빨리 도착할 수 있는 시각은 0시 16분이다.
다음을 수행하는 프로그램을 작성하시오.
표준 입력의 첫째 줄에는 공백 하나로 구분된 여섯 개의 정수가 주어진다.
정거장은 1번부터 n번까지, 노선은 1번부터 k번까지 번호가 매겨진다. 이어지는 3k개의 줄에 각 노선의 정보가 주어지며, 한 노선의 정보는 연속한 세 줄에 걸쳐 주어진다.
모든 노선의 정거장 수의 합은 4,000을 넘지 않는다(즉 s1+s2+⋯+sk≤4,000).
표준 출력의 한 줄에 공백으로 구분된 두 정수를 출력한다. 도착 정거장에 가장 빨리 도착할 수 있는 시각의 시 gy (0≤gy≤23)와 분 my (0≤my≤59)이다. 도착 시각이 다음 날로 넘어가더라도 하루(24시간)로 나눈 나머지에 해당하는 시각을 출력한다.