주간 미팅
면접 대비시간 제한1초메모리 제한512 MB
각 회원의 집에서 두 고정 지점까지의 최단 거리를 더해 모두 합산하며, 도달할 수 없는 경우는 -1로 계산한다.
문제
KIST 기사단 2기에 선발되면 서울 월곡의 KIST와 양재의 씨알푸드에서 팀원이 모여 의논하고 함께 작업한다. 누구나 회의 장소에 빨리 가고 싶은 마음은 똑같다.
장소를 노드로, 도로를 간선으로 보면 그래프가 된다. 팀원 명의 집이 있는 노드 번호와 KIST, 씨알푸드의 노드 번호가 주어진다. 번째 팀원의 거리 는 (집에서 KIST까지의 최단 거리) + (집에서 씨알푸드까지의 최단 거리)로 정의한다. 도달할 수 없는 경우의 최단 거리는 로 정의한다. 예를 들어 KIST에는 갈 수 없고 씨알푸드까지의 최단 거리가 10인 팀원의 거리는 이고, KIST와 씨알푸드 모두 갈 수 없는 팀원의 거리는 이다.
의 값을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 KIST 기사단 팀원의 수 , 장소의 수 , 도로의 수 가 주어진다. (1 ≤ ≤ 100, 1 ≤ ≤ 1000, 0 ≤ ≤ 10000)
둘째 줄에 KIST의 위치 와 씨알푸드의 위치 가 주어진다. (1 ≤ , ≤ )
셋째 줄에 팀원 명의 집의 위치 가 공백을 사이에 두고 주어진다. (1 ≤ ≤ , 1 ≤ ≤ )
넷째 줄부터 개의 줄에 도로의 양 끝 장소 , 와 길이 이 주어진다. (1 ≤ , ≤ , 1 ≤ ≤ 100) 도로는 양쪽 방향으로 모두 지나갈 수 있다. 같은 두 장소를 잇는 도로가 여러 개 주어질 수 있고, 와 가 같은 도로도 주어질 수 있다.
출력
모든 팀원의 거리의 합을 한 줄에 출력한다. KIST나 씨알푸드로 갈 수 없는 경우에는 그 최단 거리를 로 처리한다.