#include "garden.h"
#include "gardenlib.h"
#include<bits/stdc++.h>
using namespace std;
vector<int> n2;
vector<vector<int> > n1;
vector<int> v;
int ans = 0;
int k;
int Z;
void dfs(int x, int p, int d){
if (x==-1) return;
if (k==d) {if (x==Z) ans++;return;}
if (n1[x].size()==1 and p!=-1) {dfs(p,x,d+1);return;}
if (n1[x][0]==p) {dfs(n1[x][1],x,d+1);return;}
dfs(n1[x][0],x,d+1);
}
void count_routes(int N, int M, int P, int R[][2], int Q, int G[])
{
n1.resize(N);
for (int i = 0;i<M;i++){
n1[R[i][0]].push_back(R[i][1]);
n1[R[i][1]].push_back(R[i][0]);
}
Z = P;
for (int i = 0;i<Q;i++){
k = G[i];
ans = 0;
for (int i = 0;i<N;i++) dfs(i,-1,0);
answer(ans);
}
}