검은 돌
시간 제한1초메모리 제한512 MB
일부 정점이 검은색으로 표시된 트리에서, 정점 i개와 검은 정점 j개를 갖는 부분 트리가 존재하는 질의 (i, j)의 개수를 센다.
문제
정점 집합 와 간선 집합 를 가진 그래프 가 트리라 함은, 의 임의의 두 정점 와 사이에 항상 경로가 존재하고 그 경로가 하나뿐인 경우이다.
트리 안의 서브트리 란, , 이면서 트리의 성질을 만족하는, 그 자체로 트리인 그래프이다.
트리 의 어떤 정점들에는 검은 돌이 놓여 있다. 검은 돌은 한 정점에 많아야 하나씩만 놓일 수 있다.
우리는 다음과 같은 질의 를 던질 것이고, 여러분은 이 질의에 답해야 한다.
- 트리 안에 정확히 개의 정점을 가지고, 이 중 개의 정점에 검은 돌이 놓여 있는 서브트리 가 존재하는가?
예를 들어, 아래 <그림 1>에서 9개 정점을 가진 트리가 주어진다. 여기서 질의 에 대해서는 정점 1, 2, 3, 4, 6으로 이루어진 서브트리가 조건을 만족한다. 하지만 질의 에 대해서는 조건을 만족하는 서브트리가 존재하지 않는다.

<그림 1>
개의 정점을 가진 트리와 개의 질의 가 주어질 때, 각 질의에 대한 답 중에서 '존재한다'는 답의 총 개수를 출력하시오.
입력
입력의 첫 줄에는 트리 의 정점 개수를 나타내는 정수 과 정점들에 놓여 있는 검은 돌의 개수 가 주어진다. 트리 의 정점은 1부터 까지 정수로 나타낸다. 두 번째 줄에는 검은 돌이 놓여 있는 정점을 나타내는 개의 정수 가 주어진다. 이어지는 개 줄 각각에는 에서 간선이 존재하는 두 정점을 나타내는 정수 가 주어진다. 다음 줄에는 질의의 개수 가 주어지고, 이어지는 개 줄 각각에 하나의 질의 를 나타내는 두 정수 가 주어진다.
출력
각 질의에 대한 답 중에서 '존재한다'는 답의 총 개수를 출력한다.