한 부유한 국가는 자국의 금광 덕분에 큰 부를 쌓았다. 채굴량을 늘리기 위해 정부는 광부들을 특정 터널에 상시 배치하기로 했다.
이 나라의 모든 광산은 같은 구조로 되어 있다. 각 광산에는 입구가 정확히 하나 있으며, 방과 그 방들을 잇는 터널로 이루어진다. 입구에서 각 방으로 가는 경로는 (여러 터널과 다른 방을 거칠 수 있지만) 정확히 하나뿐이다. 따라서 광산은 트리 구조를 이룬다.
금 채굴은 다른 방과 정확히 하나만 연결된 방에서만 이루어진다. 다만 입구인 방은 다른 방 하나와만 연결되어 있더라도 채굴에 사용되지 않는다.
터널마다 높이가 다르다. 장비를 짊어진 광부는 몸을 숙일 수 없으므로, 터널의 높이가 자신의 키 이상일 때에만 그 터널을 지날 수 있다. 즉 광부는 입구에서 어떤 방까지 이르는 경로 위의 모든 터널 높이가 자신의 키 이상일 때에만 그 방에 도달할 수 있다.
방과 터널의 배치, 그리고 각 광부의 키가 주어질 때, 동시에 금을 채굴할 수 있는 광부 수의 최댓값을 구하는 프로그램을 작성하라. 한 방에는 최대 한 명의 광부만 들어갈 수 있다.
첫 줄에 데이터 집합의 개수 T (1≤T≤5)가 주어진다. 이어서 각 데이터 집합이 주어진다.
각 데이터 집합의 첫 줄에는 두 정수 n, k (3≤n≤200000, 1≤k≤n)가 주어진다. n은 방의 개수(방은 1번부터 n번까지 번호가 매겨진다)이고, k는 입구인 방의 번호이다.
다음 n−1개의 줄에는 터널 정보가 주어진다. 각 줄에는 세 정수 a, b, c (1≤a<b≤n, 1≤c≤1000)가 있으며, 이는 방 a와 방 b가 높이 c인 터널로 연결되어 있음을 뜻한다. 어떤 방 쌍도 두 번 이상 주어지지 않는다.
그다음 줄에는 이 광산에 배정된 광부의 수 m (1≤m≤200000)이 주어진다. 마지막 줄에는 광부들의 키를 나타내는 m개의 양의 정수가 주어지며, 각 값은 1000 이하이다.
T개의 줄을 출력한다. i번째 줄에는 i번째 데이터 집합의 답, 즉 동시에 금을 채굴할 수 있는 광부 수의 최댓값을 출력한다. 광부는 터널의 높이가 자신의 키 이상일 때에만 그 터널을 지날 수 있다.