#include<iostream>
#include<queue>
#include<map>
#include<cstring>
using namespace std;

typedef pair<int,int> P;
int bfs(int s,int d,int v);

int k[111];
int t[111][111];
bool flag[111];

int main(){
  int r,n,p;
  cin >> n;
  for(int i=0;i<n;i++){
    cin >> r;
    cin >> k[r];
    for(int j=0;j<k[r];j++){
      cin >> t[r][j];
    }
  }
  cin >> p;
  for(int i=0;i<p;i++){
    int s,d,v;
    memset(flag,0,sizeof(flag));
    cin >> s >> d >> v;
    int ans = bfs(s,d,v);
    if(ans == -1) cout << "NA" << endl;
    else cout << ans << endl;
  }
}

int bfs(int s,int d,int v){
  queue<P> que;
  que.push(P(s,0));
  while(!que.empty()){
    P p = que.front();
    que.pop();
    int now = p.first;
    int cou = p.second;
    cou++;
    if(now == d) return cou;
    if(flag[now] == false && v-cou > 0){
      flag[now] = true;
      for(int i=0;i<k[now];i++){
	que.push(P(t[now][i],cou));
      }
    }
  }
  return -1;
}