var
n,m,i,x,y:longint;
f:array[0..100000] of longint;
function find(x:longint):longint;
begin
if f[x]=x then exit(x);
f[x]:=find(f[x]);
exit(f[x]);
end;
procedure combine(x,y:longint);
var
xx,yy:longint;
begin
xx:=find(x);
yy:=find(y);
if xx<>yy then f[xx]:=yy;
end;
begin
readln(n,m);
for i:=1 to n do
f[i]:=i;
for i:=1 to m do
begin
readln(x,y);
combine(x,y);
end;
readln(m);
for i:=1 to m do
begin
readln(x,y);
if find(x)=find(y) then writeln('Yes')
else writeln('No');
end;
end.
/**************************************************************
Problem: 2237
User: admin
Language: Pascal
Result: Wrong Answer
****************************************************************/