#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <cstring>

#define ll long long
#define ull unsigned long long
#define pii pair<int,int>
#define vi vector<int>
#define VS vector<string>
#define all(x) x.begin(),x.end()
#define mp make_pair
#define pb push_back

#define INF 1000010
#define MAX_V 110

using namespace std;

int cost[MAX_V][MAX_V];

int main(){
    int n;

    for(int i=0; i < MAX_V; i++) for(int j=0; j < MAX_V; j++) cost[i][j] = INF;
    for(int i=0; i < MAX_V; i++) cost[i][i] = 0;

    cin >> n;
    for(int i=0; i < n; i++){
        int e1;
        int m;
        cin >> e1 >> m;
        for(int j=0; j < m; j++){
            int e2;
            cin >> e2;
            cost[e1-1][e2-1] = 1;
        }
    }

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

    cin >> n;
    for(int i=0; i < n; i++){
        int e1, e2, t;
        cin >> e1 >> e2 >> t;
        if(cost[e1-1][e2-1] != INF && cost[e1-1][e2-1]+1 <= t) cout << cost[e1-1][e2-1]+1 << endl;
        else cout << "NA" << endl;
    }
}