#include<bits/stdc++.h>
using namespace std;
int n,m,q;
int dp[1005][1005];
vector<int> a[100005];
int dfs(int x,int l){
if(dp[x][l]){
return dp[x][l];
}
int ans=2;
for(int i=0;i<a[x].size();i++){
if(dfs(a[x][i],l-1)==1){
ans=1;
}
}
return dp[x][l]=ans;
}
int main(){
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
scanf("%d%d%d",&n,&m,&q);
for(int i=1;i<=m;i++){
int x,y;
scanf("%d%d",&x,&y);
a[x].push_back(y);
a[y].push_back(x);
}
for(int i=0;i<a[1].size();i++){
dp[a[1][i]][1]=1;
}
for(int i=1;i<=n;i++){
if(!dp[i][1]){
dp[i][1]=2;
}
}
for(int i=1;i<=q;i++){
int x,l;
scanf("%d%d",&x,&l);
if(dfs(x,l)==1){
printf("Yes\n");
}else{
printf("No\n");
}
}
return 0;
}