시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB165948058.824%

문제

디미고 주변에는 뽀미라는 고양이가 산다. 뽀미는 종종 디미고에 출몰해 학교 곳곳을 돌아다니며 많은 학생들에게 관심과 사랑을 받는다. 승찬이는 뽀미를 정말 좋아하기 때문에 학교를 돌아다니며 최대한 많이 뽀미를 만나려고 한다.

디미고는 $1$번부터 $N$번까지 번호가 매겨진 $N$개의 장소가 $N-1$개의 길로 연결되어 있는 트리 구조로, 승찬이는 길을 통해 장소 사이를 이동할 수 있다. 뽀미는 시각 $1$부터 시각 $T$까지 디미고에 출몰한다. 뽀미는 매우 민첩하기 때문에 아무리 멀리 떨어진 장소라도 이동할 수 있다. 뽀미는 시각 $t$에 $C_t$번 장소에 나타나며, 승찬이는 뽀미를 만나기 위해 매 시각 길을 따라 인접한 장소로 이동하거나 현재 위치에 머무를 수 있다. 처음 시작하는 위치는 임의로 정할 수 있다.

승찬이가 뽀미를 최대 몇 번 만날 수 있을지 출력하는 프로그램을 작성하시오.

입력

첫 번째 줄에 정수 $N$과 $T$가 공백으로 구분하여 주어진다. $(3 \le N \le 5\,000; 1 \le T \le 1\,000)$

두 번째 줄부터 $N-1$개의 줄에 걸쳐 길을 통해 연결된 두 장소의 번호 $u$, $v$가 공백으로 구분하여 주어진다. $(1 \le u, v \le N; u \ne v)$

$N+1$ 번째 줄에 $T$개의 정수 $C_1, C_2, \cdots, C_T$가 공백으로 구분하여 주어진다. $(1 \le C_1, C_2, \cdots, C_T \le N)$

입력으로 주어진 디미고는 올바른 트리 구조이다.

출력

승찬이가 뽀미를 만날 수 있는 횟수의 최댓값을 출력한다.

예제 입력 1

5 3
1 2
1 3
3 4
3 5
1 5 2

예제 출력 1

2

위 예제에서 승찬이는 시각 $1$, $2$에 $1$번 장소에 머무르고 시각 $3$에 $2$번 장소로 이동하면 뽀미를 총 $2$번 만날 수 있으며, 이보다 더 많이 뽀미를 만나는 방법은 존재하지 않는다.