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
****************************************************************/