#include "garden.h"
#include "gardenlib.h"
#include<bits/stdc++.h>
using namespace std;
vector<vector<pair<int,int>>>graph;
vector<vector<int>>go;
int st,cnt;
void dfs(int u,int p,int d){
go[st][d]=u;
if(d==100)return;
if(graph[u].size()==1){
dfs(graph[u][0].first,u,d+1);
return;
}
for(auto&i:graph[u])if(i.first!=p)
dfs(i.first,u,d+1);
}
void count_routes(int N, int M, int P, int R[][2], int Q, int G[])
{
graph.resize(N);
go.resize(N,vector<int>(101));
for(int i=0;i<M;++i){
graph[R[i][0]].push_back({R[i][1],i});
graph[R[i][1]].push_back({R[i][0],i});
}
for(int i=0;i<N;++i){
st=i;
dfs(i,-1,0);
}
for(int i=0;i<Q;++i){
cnt=0;
for(int j=0;j<N;++j)cnt+=go[j][G[i]]==P;
answer(cnt);
}
}