#include<bits/stdc++.h>
using namespace std;
int f[200005],n,m,q;
int find(int x)
{
if(f[x] == x) return x;
return f[x] = find(f[x]);
}
void unionn(int x,int y)
{
f[find(y)] = find(x);
return;
}
bool judge(int x,int y)
{
return f[x] == f[y];
}
signed main()
{
cin>>n>>m;
for(int i = 1;i <= n;i++) f[i] = i;
for(int i = 1,u,v;i <= m;i++)
{
cin>>u>>v;
unionn(u,v);
}
cin>>q;
for(int i = 1,u,v;i <= q;i++)
{
cin>>u>>v;
if(judge(u,v)) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}