#include<iostream> //矩阵乘法,求从A到B的路线总数
#include<cstring>
using namespace std;
int table[102][102],path[102][102],ans[102][102];
int n,m,L,t,x,y,A,B;
int main()
{
cin>>n>>m>>L;
while(m--)
{
cin>>x>>y;
table[x][y]=1;
path[x][y]=1;
}
while(--L) //循环L-1次
{
memcpy(ans,path,sizeof(path));
memset(path,0,sizeof(path));
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
for(int k=1;k<=n;++k)
path[i][j]+=table[i][k]*ans[k][j]; //path[i][j]+=ans[i][k]*table[k][j];
}
cin>>t;
while(t--)
{
cin>>A>>B;
cout<<path[A][B]<<endl;
}
return 0;
}