AYBABTU

기지 노드가 든 트리에서 간선 k개를 잘라 생기는 k+1개 영역이 모두 기지를 포함하게 하는 최소 절단 비용을 구합니다.

보통7동적 계획법트리아직 제출이 없습니다시간 제한10초메모리 제한512 MB

문제

정점이 nn개이고 간선이 n1n-1개인 트리가 있다. nn개의 정점 중 tt개에는 군사 기지가 있다. 간선 kk개를 파괴해서 기지를 최대한 서로 떼어 놓으려고 한다. 간선 kk개를 파괴하면 트리는 k+1k+1개의 영역으로 나뉜다. 기지를 떼어 놓는 것이 목적이므로, k+1k+1개의 영역이 모두 기지를 하나 이상 포함하는 분할만 생각한다. 간선을 하나 파괴할 때마다 그 간선의 파괴 비용을 내야 한다. 트리를 나누는 최소 파괴 비용을 구하라.

0kt10 \le k \le t-1이므로 조건을 만족하는 분할은 항상 존재한다.

입력

입력은 여러 개의 데이터 세트로 이루어진다. 각 데이터 세트의 첫 줄에는 정수 nn, tt, kk가 주어진다 (1n100001 \le n \le 10000, 1tn1 \le t \le n, 0kt10 \le k \le t-1). 다음 n1n-1개 줄에는 간선을 나타내는 정수 세 개가 주어진다. 앞의 두 정수는 그 간선이 잇는 두 정점의 번호이고, 정점 번호는 nn 이하의 자연수다. 마지막 정수는 그 간선의 파괴 비용이며, 1000010000 이하의 음이 아닌 정수다. 이어지는 tt개 줄에는 기지가 있는 정점의 번호가 한 줄에 하나씩 서로 다르게 주어진다. 입력의 마지막 줄에는 0이 세 개 주어지며, 이 줄은 처리하지 않는다.

출력

각 데이터 세트마다 Case x: c 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 데이터 세트 번호이고, cc는 트리를 나누는 최소 파괴 비용이다.