#include<bits/stdc++.h>
using namespace std;

int n,a,b,dof[100005],q,mem[100005],tsv;
vector<int> t[100005];
vector<int> y[100005];

void m(){
    for(int i=1;i<=n;i++){
        mem[i]=-1;
    }
}

int fs(int h){
    if(mem[h]==-1){
        int res=0;
        for(int j=0;j<t[h].size();j++){
            res+=(fs(t[h][j])+1);
        }
        mem[h]=res;
        return res;
    }else{
        return mem[h];
    }
}

int ls(int h){
        int res=0;
        for(int j=0;j<y[h].size();j++){
            res+=(ls(y[h][j])+1);
        }
        if(res==0){
            tsv=h;
        }
        return res;
}

void pech(){
    cout<<endl;
    for(int i=1;i<n;i++){
        cout<<i<<" -> ";
        for(int j=0;j<t[i].size();j++){
            cout<<t[i][j]<<" ";
        }
        cout<<endl;
    }
}

int main(){

    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    cin>>n;
    for(int i=0;i<n-1;i++){
        cin>>a>>b;
        t[a].push_back(b);
        y[b].push_back(a);

    }
    cin>>q;
    for(int i=0;i<q;i++){
        cin>>dof[i];
    }
    m();
    ls(1);
    fs(tsv);
    for(int i=0;i<q;i++){
        cout<<mem[dof[i]]<<endl;
    }
    //pech();

    return 0;
}

