传送门
#include<bits/stdc++.h>
using namespace std;
int N,M,q;
int a_fa[1000000];
int Getfather(int u){
if(a_fa[u]==u){
return u;
}
return Getfather(prt[u]);
}
bool Query(int u,int v){
return Getfather(u)==Getfather(v);
}
int main(){
cin>>N>>M;
for(int i=1;i<=N;i++){
prt[i]=i;
}
for(int i=1,x,y;i<=M;i++){
cin>>x>>y;
int u=Getfather(x);
int v=Getfather(y);
if(u!=v){
prt[u]=v;
}
}
cin>>q;
for(int i=1,x,y;i<=q;i++){
cin>>x>>y;
if(Query(x,y)==true){
cout<<"Yes"<<endl;
}
else{
cout<<"No"<<endl;
}
}
return 0;
}