#include <iostream>
#include <vector>
#include <queue>
#include <cstring>
#define N 100005
using namespace std;
struct Node{
int x,s;
Node(){}
Node(int a,int b):x(a),s(b){}
};
vector<int> vec[N];
int n,m,q;
bool bfs(int stx,int s){
if(stx==1&&s==1)return false;
if(stx==1&&vec[1].empty())return true;
queue<Node> que;
que.push(Node(stx,0));
while(!que.empty()){
Node u=que.front();
que.pop();
if(u.x==1&&u.s==s)return true;
else if(u.x==1&&u.s>s)return false;
for(int i=0;i<vec[u.x].size();i++)que.push(Node(vec[u.x][i],u.s+1));
}
return false;
}
int main(){
cin>>n>>m>>q;
for(int i=1;i<=m;i++){
int a,b;
cin>>a>>b;
vec[a].push_back(b);
vec[b].push_back(a);
}
for(int i=1;i<=q;i++){
int a,b;
cin>>a>>b;
cout<<(bfs(a,b)?"Yes":"No")<<endl;
}
}
剩下全部mle 如果加上vis标记数组会出现wa的情况