KIST 기사단 2기에 선발되면 서울 월곡의 KIST와 양재의 씨알푸드에서 팀원이 모여 의논하고 함께 작업한다. 누구나 회의 장소에 빨리 가고 싶은 마음은 똑같다.
장소를 노드로, 도로를 간선으로 보면 그래프가 된다. 팀원 N명의 집이 있는 노드 번호와 KIST, 씨알푸드의 노드 번호가 주어진다. i번째 팀원의 거리 di는 (집에서 KIST까지의 최단 거리) + (집에서 씨알푸드까지의 최단 거리)로 정의한다. 도달할 수 없는 경우의 최단 거리는 −1로 정의한다. 예를 들어 KIST에는 갈 수 없고 씨알푸드까지의 최단 거리가 10인 팀원의 거리는 −1+10=9이고, KIST와 씨알푸드 모두 갈 수 없는 팀원의 거리는 −1+(−1)=−2이다.
∑di의 값을 출력하는 프로그램을 작성하시오.
첫째 줄에 KIST 기사단 팀원의 수 N, 장소의 수 V, 도로의 수 E가 주어진다. (1 ≤ N ≤ 100, 1 ≤ V ≤ 1000, 0 ≤ E ≤ 10000)
둘째 줄에 KIST의 위치 A와 씨알푸드의 위치 B가 주어진다. (1 ≤ A, B ≤ V)
셋째 줄에 팀원 N명의 집의 위치 Hi가 공백을 사이에 두고 주어진다. (1 ≤ i ≤ N, 1 ≤ Hi ≤ V)
넷째 줄부터 E개의 줄에 도로의 양 끝 장소 a, b와 길이 l이 주어진다. (1 ≤ a, b ≤ V, 1 ≤ l ≤ 100) 도로는 양쪽 방향으로 모두 지나갈 수 있다. 같은 두 장소를 잇는 도로가 여러 개 주어질 수 있고, a와 b가 같은 도로도 주어질 수 있다.
모든 팀원의 거리의 합을 한 줄에 출력한다. KIST나 씨알푸드로 갈 수 없는 경우에는 그 최단 거리를 −1로 처리한다.