#include <bits/stdc++.h>
using namespace std;
map<string,string> fa;
string find(string x,int &s){
if(fa[x]==x)return x;
s++;
fa[x]=find(fa[x],s);
return fa[x];
}
string find(string x){
if(fa[x]==x)return x;
fa[x]=find(fa[x]);
return fa[x];
}
void cr(string i,string j){
int i_s=0,j_s=0;
string i_fa=find(i,i_s),j_fa=find(j,j_s);
if(i_s<j_s){
fa[i_fa]=j_fa;
}else fa[j_fa]=i_fa;
}
int main(){
int n,m;
cin >> n >> m;
for(int i=1;i<=n;i++){
string s;
getline(cin,s,'\n');
fa[s]=s;
}
for(int i=1;i<=m;i++){
string a,b;
getline(cin,a,' ');
getline(cin,b,'\n');
cr(a,b);
}
int k;
cin >> k;
for(int i=1;i<=k;i++){
string a,b;
getline(cin,a,' ');
getline(cin,b,'\n');
//cout << a << ' ' << b << '\n';
if(find(a)==find(b))cout << "Yes.\n";
else cout << "No.\n";
}
return 0;
}
希望各位大佬帮忙看看