#include <bits/stdc++.h>

using namespace std;

vector<int> a[210];
int da[210];
int razdaljina[210];
bool obidjen[210];

int main()
{
    int n,m;
    cin>>m;
    n=2*m;
    map<string,int> sifre;
    int i;
    for(i=1;i<=n;i++){
        da[i]=0;
    }
    string start,cilj;
    int sledeca_sifra=1;
    for(i=0;i<m;i++){
        cin>>start>>cilj;
        if(sifre[start]==0){
            sifre[start]=sledeca_sifra;
            sledeca_sifra++;
        }
        if(sifre[cilj]==0){
            sifre[cilj]=sledeca_sifra;
            sledeca_sifra++;
        }
        a[sifre[start]].push_back(sifre[cilj]);
        (da[sifre[start]])++;
    }
    n=sledeca_sifra;
    int q;
    cin>>q;
    while(q>0){
        cin>>start>>cilj;
        int s=sifre[start],c=sifre[cilj];
        //bfs
        queue<int> za_obradu;
        for(i=1;i<n;i++){
            razdaljina[i]=-1;
            obidjen[i]=false;
        }
        razdaljina[s]=0;
        obidjen[s]=true;
        za_obradu.push(s);
        int trenutni;
        while(!za_obradu.empty() && !obidjen[c]){
            trenutni=za_obradu.front();
            za_obradu.pop();
            for(i=0;i<da[trenutni];i++){
                if(!obidjen[a[trenutni][i]]){
                    obidjen[a[trenutni][i]]=true;
                    razdaljina[a[trenutni][i]]=razdaljina[trenutni]+1;
                    za_obradu.push(a[trenutni][i]);
                }
            }
        }
        if(!obidjen[c]){
            cout<<"ne"<<endl;
        }
        else{
            cout<<razdaljina[c]<<endl;
        }
        q--;
    }
    return 0;
}
