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

int n;
int up[100000], down[100000];
int superiors[100000];

int FindSuperior(int k)
{
    if(superiors[k]==0)
    {
        for(int i=0; i<n-1; i++)
        {
            if(up[i]==k)
            {
                if(superiors[down[i]]!=0)
                {
                    superiors[k]+=superiors[down[i]]+1;
                }
                else
                {
                    superiors[k]+=FindSuperior(down[i])+1;
                }
            }
        }
    }
    return superiors[k];
}

int main()
{
    cin>>n;
    int nothighest[n];
    for(int i=0; i<n; i++)
    {
        nothighest[i]=1;
    }
    for(int i=0; i<n-1; i++)
    {
        cin>>up[i]>>down[i];
        up[i]--;
        down[i]--;
        superiors[i]=0;
        nothighest[down[i]]=0;
    }
    int highest=0;
    superiors[n-1]=0;
    for(int i=0; i<n; i++)
    {
        if(nothighest[i]==1){
            highest=i;
            //cout<<"hello: "<<i;
        }
    }

        FindSuperior(highest);
    int m;
    cin>>m;
    int temp;
    for(int i=0; i<m; i++){
        cin>>temp;
        cout<<superiors[temp-1]<<endl;
    }

    return 0;
}
/*
6
6 1
6 5
1 2
1 3
3 4
3 0 1 0 0 5
*/

