매트릭스
면접 대비시간 제한2초메모리 제한256 MB
에이전트의 가장 이른 도착 시각을 구한 뒤 네오가 먼저 도착할 수 있는 가장 빠른 전화 경로를 구합니다.
문제
모피어스는 오랜 탐색 끝에 그 사람(The One)을 찾아냈다. 컴퓨터 프로그래머 토머스 A. 앤더슨, 친구들에게는 네오라고 불리는 사람이다. 오라클을 만나고 돌아오는 길에 모피어스는 먼저 현실 세계로 빠져나갔지만, 네오가 전화기를 들기 전에 요원이 그 전화기를 부쉈다. 아직 힘을 다 깨우지 못한 네오는 요원과 싸우지 않고 다른 전화기까지 달려가야 한다.
매트릭스 세계에는 장소가 개 있고, 네오는 번 장소에 서 있다. 서로 다른 장소를 잇는 길이 개 있고, 각 길은 양방향이며 지나가는 데 정해진 시간이 걸린다. 요원 몇 명과 전화기 몇 대의 위치를 알고 있다.
요원이 어떻게 움직일지 모르므로 최악을 가정한다. 어떤 요원이 장소 까지 최소 분에 도달한다면, 시각 부터는 에 요원이 서 있을 수 있다. 그래서 네오는 도착 시각이 보다 작은 장소만 지날 수 있다. 도착 시각이 정확히 인 경우도 마주치는 것으로 본다. 전화기가 있는 장소에도 같은 규칙이 적용된다. 네오와 요원이 전화기에 동시에 닿으면 네오는 전화기를 들기 전에 요원과 싸운다.
네오는 시각 에 번 장소에서 출발하고 도중에 멈추지 않는다. 안전하게 닿을 수 있는 전화기가 있으면 그중 가장 이른 도착 시각을 구하고, 하나도 없으면 그 사실을 알려라.
입력
첫 줄에 테스트 케이스의 개수 ()가 주어진다.
각 테스트 케이스의 첫 줄에는 정수 네 개 , , , 가 주어진다. 은 장소의 수, 은 길의 수, 는 요원의 수, 는 전화기의 수다. (, , , , )
다음 개의 줄에는 정수 세 개 , , 이 주어진다 (, ). 장소 와 장소 를 잇는 길이 있고, 그 길을 지나는 데 분이 걸린다는 뜻이다. 같은 두 장소를 잇는 길이 여러 개일 수 있고, 와 가 같을 수도 있다.
다음 줄에는 요원의 위치 개가 주어진다.
마지막 줄에는 전화기의 위치 개가 주어진다.
번 장소에는 요원도 전화기도 없다. 요원과 전화기가 함께 있는 장소도 없다. 모든 테스트 케이스의 의 합은 이하이고, 의 합은 이하다.
출력
각 테스트 케이스마다 한 줄씩 출력한다. 안전하게 닿을 수 있는 전화기가 없으면 Neo may fight an Agent를 출력한다. 있으면 매트릭스에서 빠져나가는 데 걸리는 최소 시간을 분 단위 정수로 출력한다.