#include<bits/stdc++.h>
using namespace std;
int n,m,q,u,v,a,L,o[100005],j[100005];
vector<int>g[100005];
void bfs(){
memset(j,0x3f,sizeof(j));
memset(o,0x3f,sizeof(o));
queue<pair<int,int>>p;
for(auto i:g[1]){
p.push({i,1});
j[i]=1;
}
while(!p.empty()){
auto t=p.front();
p.pop();
int x=t.first,y=t.second;
for(auto i:g[x]){
if(y%2==0)
if(y+1<j[i]){
j[i]=y+1;
p.push({i,y+1});
}
else
if(y+1<o[i]){
o[i]=y+1;
p.push({i,y+1});
}
}
}
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m>>q;
for(int i=1;i<=m;i++){
cin>>u>>v;
g[u].push_back(u);
g[v].push_back(v);
}
bfs();
for(int i=1;i<=q;i++){
cin>>a>>L;
if(L%2==0){
if(o[a]<=L)
cout<<"Yes\n";
else
cout<<"No\n";
}
else{
if(j[a]<=L)
cout<<"Yes\n";
else
cout<<"No\n";
}
}
return 0;
}