후르츠 치킨

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

문제

캇카흐는 한 달 가까이 구사과의 엉뚱한 말을 받아 주느라 지쳤고, 이제 대담한 복수를 계획합니다. 그 복수란 바로 멕카시나의 걸작인 후르츠 치킨을 구사과의 집으로 잔뜩 배달시키는 것입니다!

구사과가 사는 동네는 특이한 구조입니다. 이 동네는 NN개의 도시와 N1N-1개의 양방향 도로로 이루어져 있으며, 임의의 두 도시 사이에는 항상 이동 경로가 존재합니다(즉, 트리 구조입니다). 동쪽 도시들에는 멕카시나 가게가 있고, 서쪽 도시들에는 구사과의 집이 있습니다(구사과는 집이 여러 채인 부자입니다). 멕카시나 가게도, 구사과의 집도 없는 도시도 있습니다.

이 동네에는 한 가지 특별한 성질이 있습니다. 멕카시나 가게가 있는 도시에서 구사과의 집으로 가는 모든 경로는 어떤 특정한 도로 하나를 반드시 지납니다. 그 도로가 잇는 두 도시에는 멕카시나 가게도, 구사과의 집도 없습니다.

캇카흐는 각 가게의 배달원에게 어떻게 이동할지를 지시합니다. 구사과에게 들키지 않기 위해, 어떤 순간에도 하나의 도로 위에 두 명 이상의 배달원이 동시에 있을 수 없습니다. 다만 한 도시에서는 여러 배달원이 함께 기다릴 수 있습니다. 배달원들은 같은 도로를 동시에 쓰지만 않는다면 함께 이동할 수 있습니다. 하나의 도로를 지나는 데에는 시간이 11 걸립니다.

구사과에게 최대한 큰 정신적 타격을 주기 위해, 캇카흐는 후르츠 치킨이 서로 다른 집으로 배달되기를 원합니다. 즉, 어떤 두 배달원도 같은 집으로 가서는 안 됩니다.

결전의 날, 캇카흐는 오늘 영업하는 멕카시나 가게의 목록을 알아냈습니다. 오늘 영업하는 각 가게에서 배달원이 한 명씩 출발하며, 모든 배달원은 서로 다른 구사과의 집에 후르츠 치킨을 배달해야 합니다. 모든 배달이 끝나는 데 필요한 최소 시간을 구하세요.

각 배달원은 처음에 자신의 가게가 있는 도시에서 출발합니다. 시각 00에 모든 배달원은 각자의 도시에 있으며, 매 단위 시간마다 배달원은 인접한 도시로 한 칸 이동하거나 현재 도시에서 기다립니다. 어떤 배달원이 아직 아무도 배달하지 않은 구사과의 집에 도착하면 그 집으로의 배달이 완료됩니다. 모든 배달원이 배달을 완료하는 순간이 전체 소요 시간이며, 이 값을 최소로 만들어야 합니다.

입력

첫째 줄에 도시의 수 NN, 멕카시나 가게의 수 WW, 구사과의 집의 수 ZZ가 주어집니다 (1N,W,Z1061 \le N, W, Z \le 10^6). 도시는 11번부터 NN번까지 번호가 붙어 있습니다. 멕카시나 가게가 있는 도시는 11번부터 WW번까지이고, 구사과의 집이 있는 도시는 (NZ+1)(N-Z+1)번부터 NN번까지입니다.

다음 N1N-1개의 줄에는 각각 두 정수 aa, bb (1a,bN1 \le a, b \le N)가 주어지며, 이는 도시 aa와 도시 bb를 잇는 양방향 도로가 있음을 뜻합니다.

다음 줄에는 오늘 영업하는 멕카시나 가게의 수 PP가 주어집니다 (1Pmin(W,Z)1 \le P \le \min(W, Z)). 마지막 줄에는 오늘 영업하는 가게가 있는 도시의 번호 PP개가 공백으로 구분되어 주어집니다. 이 값들은 서로 다르며, 모두 11 이상 WW 이하입니다.

출력

모든 후르츠 치킨이 배달되는 데 필요한 최소 시간을 첫째 줄에 출력하세요.

힌트

아래 그림에서 화살표는 치킨의 배달 과정을 나타냅니다. 제자리로 돌아오는 화살표는 배달원이 도로를 사용하기 위해 시간 11만큼 기다렸음을 나타냅니다.