#include<cstdio>
const int maxn=5*1e3+1e2;
int n,m;
struct DSU{
int dad[maxn];
int anc(int x)
{
if(dad[x]) return dad[x]=anc(dad[x]);
else return x;
}
void uni(int x,int y)
{
x=anc(x);
y=anc(y);
if(x!=y) dad[x]=y;
return;
}
bool ask(int x,int y)
{
return anc(x)==anc(y);
}
};
DSU dsu;
int main()
{
int p;
scanf("%d %d %d",&n,&m,&p);
for(int i=1;i<=m;i++)
{
int u,v;
scanf("%d %d",&u,&v);
dsu.uni(u,v);
}
for(int i=1;i<=p;i++)
{
int u,v;
scanf("%d %d",&u,&v);
if(dsu.ask(u,v)) printf("Yes\n");
else printf("No\n");
}
return 0;
}