광부

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

문제

한 부유한 국가는 자국의 금광 덕분에 큰 부를 쌓았다. 채굴량을 늘리기 위해 정부는 광부들을 특정 터널에 상시 배치하기로 했다.

이 나라의 모든 광산은 같은 구조로 되어 있다. 각 광산에는 입구가 정확히 하나 있으며, 방과 그 방들을 잇는 터널로 이루어진다. 입구에서 각 방으로 가는 경로는 (여러 터널과 다른 방을 거칠 수 있지만) 정확히 하나뿐이다. 따라서 광산은 트리 구조를 이룬다.

금 채굴은 다른 방과 정확히 하나만 연결된 방에서만 이루어진다. 다만 입구인 방은 다른 방 하나와만 연결되어 있더라도 채굴에 사용되지 않는다.

터널마다 높이가 다르다. 장비를 짊어진 광부는 몸을 숙일 수 없으므로, 터널의 높이가 자신의 키 이상일 때에만 그 터널을 지날 수 있다. 즉 광부는 입구에서 어떤 방까지 이르는 경로 위의 모든 터널 높이가 자신의 키 이상일 때에만 그 방에 도달할 수 있다.

방과 터널의 배치, 그리고 각 광부의 키가 주어질 때, 동시에 금을 채굴할 수 있는 광부 수의 최댓값을 구하는 프로그램을 작성하라. 한 방에는 최대 한 명의 광부만 들어갈 수 있다.

입력

첫 줄에 데이터 집합의 개수 TT (1T51 \le T \le 5)가 주어진다. 이어서 각 데이터 집합이 주어진다.

각 데이터 집합의 첫 줄에는 두 정수 nn, kk (3n2000003 \le n \le 200000, 1kn1 \le k \le n)가 주어진다. nn은 방의 개수(방은 11번부터 nn번까지 번호가 매겨진다)이고, kk는 입구인 방의 번호이다.

다음 n1n-1개의 줄에는 터널 정보가 주어진다. 각 줄에는 세 정수 aa, bb, cc (1a<bn1 \le a < b \le n, 1c10001 \le c \le 1000)가 있으며, 이는 방 aa와 방 bb가 높이 cc인 터널로 연결되어 있음을 뜻한다. 어떤 방 쌍도 두 번 이상 주어지지 않는다.

그다음 줄에는 이 광산에 배정된 광부의 수 mm (1m2000001 \le m \le 200000)이 주어진다. 마지막 줄에는 광부들의 키를 나타내는 mm개의 양의 정수가 주어지며, 각 값은 10001000 이하이다.

출력

TT개의 줄을 출력한다. ii번째 줄에는 ii번째 데이터 집합의 답, 즉 동시에 금을 채굴할 수 있는 광부 수의 최댓값을 출력한다. 광부는 터널의 높이가 자신의 키 이상일 때에만 그 터널을 지날 수 있다.