18WA
#include<bits/stdc++.h>
using namespace std;
vector<int> t[1000005];
int n,m,c,a,b,d[1000005][2];
queue<int> q,f;
void fun(){
while(!q.empty()){
int s=q.front();
q.pop();
int df=f.front();
f.pop();
for(int i=0;i<t[s].size();i++) {
int l=t[s][i];
if(d[l][1-df]==-1){
d[l][1-df]=d[s][df]+1;
q.push(l);
f.push(1-df);
}
}
}
return;
}
int main() {
cin>>n>>m>>c;;
for(int i=1;i<=m;i++) {
cin>>a>>b;
t[a].push_back(b);
t[b].push_back(a);
}
memset(d,-1,sizeof(d));
d[1][0]=0;
q.push(1);
f.push(0);
fun();
while(c--){
cin>>a>>b;
if(d[a][b%2]<=b)cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}