#include<iostream>
#include<vector>
#include<climits>
using namespace std;

#define NONE INT_MAX>>1

vector< vector<int> > WarshallFloyd(vector< vector<int> >A)
{
  for(int k=0;k<A.size();k++)
    for(int i=0;i<A.size();i++)
      for(int j=0;j<A.size();j++)
        A[i][j]=min(A[i][j],A[i][k]+A[k][j]);
  return A;
}

int main()
{
  int n;
  int r,k,t;
  int p;
  int s,d,v;

  cin>>n;
  vector< vector<int> > m(n+1,vector<int>(n+1,NONE));
  for(int i=0;i<n;i++){
    cin>>r>>k;
    for(int j=0;j<k;j++){
      cin>>t;
      m[r][t]=1;
    }
  }
  m=WarshallFloyd(m);

  cin>>p;
  for(int i=0;i<p;i++){
    cin>>s>>d>>v;
    if(m[s][d]<v)cout<<m[s][d]+1<<endl;
    else puts("NA");
    }
}