지사 배정

아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

ICPC(Innovative Consumer Products Company)는 비밀 프로젝트를 시작한다. 이 프로젝트는 하위 프로젝트 ss개로 나뉜다. 프로젝트에 참여하는 지사는 bb개(bsb \ge s)이고, 회사는 각 지사에 하위 프로젝트 하나를 맡긴다. 즉 지사는 서로 겹치지 않는 ss개의 그룹으로 나뉘고, 한 그룹이 하위 프로젝트 하나를 맡는다. 빈 그룹은 없다.

매달 말에 각 지사는 같은 그룹의 다른 모든 지사에게 메시지를 보낸다. 받는 지사마다 내용이 다른 메시지를 보낸다. 회사는 통신에 특별한 프로토콜을 쓴다. 지사 ii에는 그 지사와 본부만 아는 비밀키 kik_i가 있다. 지사 ii가 지사 jj에게 메시지를 보내려면 먼저 지사 iikik_i로 메시지를 암호화한다. 운반원이 그 메시지를 지사에서 본부까지 옮긴다. 본부는 kik_i로 메시지를 복호화한 뒤 kjk_j로 다시 암호화한다. 운반원은 새로 암호화된 메시지를 kjk_j를 가진 지사 jj까지 옮긴다. 보안 때문에 운반원은 한 번에 메시지 하나만 옮길 수 있다.

그래서 메시지 하나를 배달하는 거리는 보내는 지사에서 본부까지의 최단 거리에 본부에서 받는 지사까지의 최단 거리를 더한 값이고, 월말에 운반원이 이동하는 거리는 그달에 배달하는 모든 메시지의 거리를 더한 값이다.

도로망과 지사, 본부의 위치가 주어진다. 지사에 하위 프로젝트를 배정하는 방법을 모두 살펴보고, 월말에 운반원이 이동해야 하는 거리의 최솟값을 구하라.

입력

첫 줄에 정수 네 개 nn, bb, ss, rr가 주어진다. nn(2n50002 \le n \le 5000)은 교차로의 개수, bb(1bn11 \le b \le n-1)는 지사의 수, ss(1sb1 \le s \le b)는 하위 프로젝트의 수, rr(1r500001 \le r \le 50000)은 도로의 수다. 교차로에는 11번부터 nn번까지 번호가 붙어 있다. 지사는 교차로 11번부터 교차로 bb번에 있고, 본부는 교차로 b+1b+1번에 있다.

다음 rr개의 줄에는 각각 정수 세 개 uu, vv, ll이 주어진다. 교차로 uu에서 교차로 vv로 가는 길이 있고 그 길의 길이가 ll이라는 뜻이다(1u,vn1 \le u, v \le n, 0l100000 \le l \le 10000). 길은 주어진 방향으로만 지날 수 있다. uu에서 vv로 가는 길은 두 번 이상 주어지지 않고, 어느 교차로에서든 다른 모든 교차로로 갈 수 있음이 보장된다.

출력

운반원이 이동해야 하는 거리의 최솟값을 출력한다.