var
n,m,p:longint;
f:array[0..5100]of longint;
procedure init;
begin
assign(input,'tyvj1441.in');
assign(output,'tyvj1441.out');
reset(input);
rewrite(output);
end;
procedure terminate;
begin
close(input);
close(output);
halt;
end;
function find(x:longint):longint;
begin
if f[x]=x then exit(x);
f[x]:=find(f[x]);
exit(f[x]);
end;
procedure merge(a,b:longint);
var
ra,rb:longint;
begin
ra:=find(a);
rb:=find(b);
f[ra]:=rb;
end;
procedure work;
var
i,a,b:longint;
begin
readln(n,m,p);
for i:=1 to n do
begin
f[i]:=i;
end; //方便后面判断是否有亲戚关系
for i:=1 to m do
begin
readln(a,b);
merge(a,b); //由于题中没有说那个数是哪个数的
end; //亲戚所以要将他们合并在树中
for i:=1 to p-1 do
begin
readln(a,b);
if find(a)=find(b) then writeln('Yes')
else writeln('No');
end;
readln(a,b);
if find(a)=find(b) then write('Yes')
else write('No');
end;
begin
init;
work;
terminate;
end.