#include <bits/stdc++.h>
using namespace std;
bool visited[100001];
vector<int>edges[100001];
int br=0;
void dfs(int start){
visited[start]=true;

    for(int next:edges[start]){
        if(!visited[next]){
            br++;
            //cout<<"next = "<<next<<endl;
            dfs(next);
        }
    }
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    cout.tie(NULL);
    int N;
    cin>>N;
    for(int i=0;i<N-1;i++){
        int U,V;
        cin>>U>>V;
        edges[U].push_back(V);
    }
    int Q;
    cin>>Q;
    for(int i=0;i<Q;i++){
        br=0;
        int M;
        for(int i=0;i<=N;i++){
            visited[i]=false;
        }
        cin>>M;

       dfs(M);
       cout<<br<<endl;
    }
    return 0;
}
