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

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

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

int main()
{
    int nothighest[n];
    cin>>n;
    for(int i=0; i<n; i++)
    {
        superior[i]=0;
        nothighest[i]=0;
    }
    for(int i=0; i<n-1; i++)
    {
        cin>>up[i]>>down[i];
        up[i]--;
        down[i]--;
        superior[up[i]]=-1;
        nothighest[down[i]]=1;
    }
    for(int i=0; i<n; i++)
    {
        if(nothighest[i]=0)
        {
            highest = i;
            break;
        }
    }


    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
*/
