#include<iostream>
using namespace std;
struct UFS
{
int a[5001];
UFS(int n)
{
for(int i=1;i<=n;i++)
{
a[i]=i;
}
}
int find(int x)
{
if(a[x]==x)
{
return x;
}
return a[x]=find(a[x]);
}
void cb(int x,int y)
{
a[find(x)]=find(y);
}
};
int main()
{
int n,m,p;
cin >> n >> m >> p;
UFS ufs=UFS(n);
int u,v;
for(int i=1;i<=m;i++)
{
cin >> u >> v;
ufs.cb(u,v);
}
int a,b;
for(int i=1;i<=p;i++)
{
cin >> a >> b;
if(ufs.find(a)==ufs.find(b))
{
cout << "Yes";
}
else
{
cout << "No";
}
}
return 0;
}