//1818
#include<iostream>
#include<vector>
#include<map>
#include<set>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<string>
#include<queue>
#include<complex>
#include<numeric>
#include<bitset>
#define INF 1001001001
#define EPS 0.000001

using namespace std;
typedef vector<int> vint;
typedef vector<vint> vvint;
typedef pair<int,int> pint;


int main(){
	int n,m;
	while(cin >> n){
		if(n==0) break;
		int c=0;
		map<string,int> mp;
		char in1[50],in2[50];
		static int g[401][401];
		int i,j,k;
		for(i=0;i<201;i++) for(j=0;j<201;j++) g[i][j]=INF;
		
		for(i=0;i<n;i++){
			scanf("%s",in1);
			string x,y,in=in1;
			for(j=0;j<in.length(),in[j]!='-';j++) x+=in[j];
			j++;
			for(;j<in.length();j++) y+=in[j];
			if(mp.find(x)==mp.end()) mp.insert(pair<string,int>(x,c++));
			if(mp.find(y)==mp.end()) mp.insert(pair<string,int>(y,c++));
			g[(*mp.find(x)).second][(*mp.find(y)).second]=1;
		}
		
		for(i=0;i<c;i++){
			for(j=i+1;j<c;j++){
				if(g[i][j]==INF && g[j][i]==INF){
					int f=INF;
					for(k=0;k<c;k++){
						if(k==i || k==j) continue;
						if(f!=-1 && g[i][k]==1 && g[j][k]==1) f=0;
						if(f!=-1 && g[k][i]==1 && g[k][j]==1) f=0;
						if(g[i][k]==1 && g[k][j]==1) f=-1;
						if(g[j][k]==1 && g[k][i]==1) f=-1;
					}
					if(f==-1) f=INF;
					g[i][j]=f;
					g[j][i]=f;
				}
			}
		}
		for(k=0;k<c;k++){
			for(i=0;i<c;i++){
				for(j=0;j<c;j++){
					if(g[i][j] > g[i][k]+g[k][j]) g[i][j]=g[i][k]+g[k][j];
				}
			}
		}
		cout << c << endl;
	/*	for(i=0;i<c;i++){
			for(j=0;j<c;j++){
				cout << (g[i][j]==INF?-1:g[i][j]) << '	';
			}
			cout << endl;
		}*/
		cin >> m;
		for(i=0;i<m;i++){
			scanf("%s",in1);
			string x,y,in=in1;
			for(j=0;j<in.length(),in[j]!='-';j++) x+=in[j];
			j++;
			for(;j<in.length();j++) y+=in[j];
			
			if(mp.find(x)==mp.end() || mp.find(y)==mp.end()) printf("NO\n");
			else if(g[(*mp.find(x)).second][(*mp.find(y)).second]<INF && g[(*mp.find(x)).second][(*mp.find(y)).second]%2==1){
				printf("YES\n");
			}
			else{
				printf("NO\n");
			}
		}
	}
			
		
	return 0;
}