도둑들

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

문제

어떤 나라에 $N$개의 도시가 있고 $1$번부터 $N$번까지 번호가 매겨져 있습니다. 도시들은 $N-1$개의 도로로 연결되어 있으며, 임의의 도시에서 다른 어떤 도시로 가는 경로가 항상 유일합니다. 즉, 도시와 도로는 하나의 트리를 이룹니다.

도둑 무리가 서로 다른 $K$개 도시의 상점을 동시에 털었습니다. 범행 직후라 도둑들은 아직 다른 도시로 달아나지 못했지만, 앞으로 도로를 따라 얼마든지 이동할 수 있다고 가정합니다.

이를 알고 있는 경찰은 일부 도시의 진입로를 막을 수 있습니다. 어떤 도시의 진입로를 모두 막으면 도둑은 더 이상 그 도시로 들어올 수 없습니다. 다만 도시에서 나가는 것은 막을 수 없습니다. 진입로를 막은 뒤, 경찰은 도둑이 있을 수 있는 모든 도시를 수색합니다.

어떤 도시에 도둑이 있을 수 있다는 것은, 상점이 털린 $K$개 도시 중 하나에서 출발하여 진입로가 막히지 않은 도시들만 거쳐 그 도시에 도달할 수 있다는 뜻입니다. 상점이 털린 도시에는 이미 도둑이 있으므로, 그 도시들은 언제나 수색해야 합니다.

경찰의 예산은 한정되어 있습니다. 한 도시를 수색하는 데는 $M$의 비용이 들고, $i$번 도시로 들어오는 모든 도로를 막는 데는 $a_i$의 비용이 듭니다. 경찰은 전체 작전의 비용이 최소가 되도록 진입로를 막을 도시들을 고르려고 합니다.

수색 작전에 드는 최소 비용을 구하세요.

입력

첫째 줄에 세 정수 $N$, $K$, $M$이 주어집니다. 각각 도시의 수, 상점이 털린 도시의 수, 한 도시를 수색하는 비용입니다.

이어지는 $N-1$개의 줄에는 각각 공백으로 구분된 두 정수 $b_i$와 $c_i$가 주어집니다. $i$번째 도로가 잇는 두 도시의 번호입니다.

그다음 줄에는 $N$개의 정수가 주어집니다. $i$번째 정수 $a_i$는 $i$번 도시의 진입로를 모두 막는 비용입니다.

마지막 줄에는 서로 다른 $K$개의 정수가 주어집니다. 상점이 털린 도시들의 번호입니다.

출력

수색 작전에 드는 최소 비용을 정수 하나로 출력하세요.

제한

  • $3 \le N \le 500000$
  • $1 \le b_i, c_i \le N$
  • $1 \le K \le N$
  • $1 \le M \le 1000000$
  • $1 \le a_i \le 1000000$