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

#define N 101

int M[N][N];//&#65533;&#1488;&#1677;s&#65533;
int d[N];//&#65533;m&#65533;[&#65533;h&#65533;&#784;&#65533;
int pi[N];//&#65533;&#450;&#65533;&#65533;&#65533;&#65533;&#30152;&#65533;&#65533;&#65533;&#65533;

void initi();
int BFS(int start,int goal);


main(){
  initi();
  int n;
  cin >> n;
  for(int i = 0; i< n ; i++){
    int Bangou,setuzokusu;
    cin >> Bangou;
    cin >> setuzokusu;
    for(int j=0;j < setuzokusu ; j++){
      int to;
      cin >> to;
      M[Bangou][to]=1;
    }
  }//&#65533;f&#65533;[&#65533;^&#65533;&#787;&#65533;&#65533;&#834;&#65533;&#65533;&#65533;&#65533;&#1794;
  
  
  cin >> n;
  for(int i = 0; i < n;i++){
    int start,goal,TTL,result;
    cin >> start >> goal >> TTL;
    if ( (result =BFS(start,goal)+1) > TTL)cout << "NA" << endl;
    else cout << result << endl;
  }
  
  
  
  
  return 0;     
}


void initi(){
        for(int i=0;i<N;i++){
                for(int j=0;j<N;j++)M[i][j]=0;
        }
}

int BFS(int start,int goal){
        
  queue<int> Q;//&#65533;L&#65533;&#65533;&#65533;[&#65533;&#65533;&#65533;p&#65533;
  for(int i=0;i<N;i++){
    d[i] =1 << 21;
    pi[i]=0;
  }
  
  d[start]=0;
  Q.push(start);
  
  while(!Q.empty()){//&#65533;L&#65533;&#65533;&#65533;[&#65533;&#65533;&#65533;&#65533;&#65533;&#578;&#514;&#65533;&#65533;&#1794;&#322;&#65533;&#65533;
    int u=Q.front();
    Q.pop();
    //  cout << "Now u is" << u << endl;
    for(int v = 0 ; v <N ; v++){
      if (M[u][v] && d[v] == 1 << 21){//u&#65533;&#65533;&#65533;&#65533;v&#65533;&#589;s&#65533;&#65533;&#65533;&#269;X&#65533;&#65533;v&#65533;&#771;X&#65533;^&#65533;[&#65533;g&#65533;n&#65533;_&#65533;&#65533;&#65533;&#65533;&#65533;&#779;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#337;&#65533;&#65533;&#782;&#65533;
        d[v]=d[u]+1;
        pi[v]=u;//&#65533;&#450;&#65533;&#65533;&#65533;&#65533;&#30152;&#65533;&#65533;&#65533;&#65533;
        Q.push(v);
        //cout <<"from "  <<u << "to" <<v << endl;
      }
    }
  }

  //for(int i=1;i<8;i++)cout << d[i]<< " ";
  //cout << endl;
  
  
  return d[goal];
        
}