#include <cstdio>
#include <algorithm>

using namespace std;

#define INF (1<<29)
#define MAX 100

int main(){
  int n,v;
  int G[MAX][MAX];

  for(int i = 0 ; i < MAX ; i++){
    for(int j = 0 ; j < MAX ; j++){
      G[i][j] = INF;
    }
  }

  scanf("%d" ,&n);

  for(int i = 0 ; i < n ; i++){
    for(int j = 0 ; j < n ; j++){
      G[i][j] = INF;
    }
  }
  
  int r,k,t;
  for(int i = 0 ; i < n ; i++){
    scanf("%d %d" ,&r ,&k); r--;
    while(k--){
      scanf("%d" ,&t); t--;
      G[r][t] = 1;
    }
  }

  for(int k = 0 ; k < n ; k++){
    for(int i = 0 ; i < n ; i++){
      for(int j = 0 ; j < n ; j++){
	G[i][j] = min(G[i][j],G[i][k]+G[k][j]);
      }
    }
  }

  int a,b,c;
  scanf("%d" ,&v);
  while(v--){
    scanf("%d %d %d" ,&a ,&b ,&c);
    a--,b--;
    if(G[a][b] == INF || G[a][b] + 1 > c){
      puts("NA");
    }else{
      printf("%d\n" ,G[a][b] + 1);
    }
  }

  return 0;
}