#include <cstdio>
#include <cstring>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <string>
#define maxn 20010
#include <map>
using namespace std;
typedef long long ll;
map<string,string> a;
int n;
ll k,m;
string find(string x){
if(x == a[x]){
return a[x];
}
return a[x] = find(a[x]);
}
void join(string x, string y){
if(find(x) != find(y)){
a[y] = x;
}
}
int main()
{
string s;
cin >> n >> m;
for(int i = 1; i <= n; i++){
cin >> s;
a[s] = s;
}
string s1,s2;
for(ll i = 1; i <= m; i++){
cin >> s1 >> s2;
join(s1,s2);
}
cin >> k;
for(int i = 0; i < k; i++){
cin >> s1 >> s2;
if(find(s1) == find(s2)){
cout << "Yes." <<endl;
}else{
cout << "No." << endl;
}
}
return 0;
}