#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define all(v) (v).begin(), (v).end()
#define F first
#define S second
const int mxN = 100'000;
const int INF = 1e9;
vector<int> G[mxN];
vector<int> iG[mxN];
int dp[mxN];
void solve(){
int n,m,q; cin>>n>>m>>q;
for (int i=0;i<m;i++){
int s, e; cin>>s>>e;
s--,e--;
G[s].push_back(e);
iG[e].push_back(s);
}
while(q--){
int T, Y;
cin>>T>>Y; T--;
for (int i=0;i<n;i++) dp[i]=0;
for (int i=0;i<Y;i++) {
int t; cin>>t; t--;
dp[t] = -INF;
}
for (int v=0;v<n;v++){
for (int u : iG[v]){
dp[v] = max(dp[v], dp[u]+1);
}
}
cout << max(-1, dp[T]) << endl;
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
int tt=1;
// cin>>tt;
while(tt--) solve();
}