#include <bits/stdc++.h>
using namespace std;
#define mp(i, j) pair<int, int>(i, j)
typedef long long ll;
const int maxsize = 100005;
map<pair<int, int>, bool> w;
bool vis[maxsize][2];
ll d[maxsize][2];
int n, m, q;
int u, v;
int a;
ll l;
int mink, minn;
bool state;
ll tmp;
int main()
{
cin >> n >> m >> q;
memset(vis, 0, sizeof(vis));
memset(d, 0x3f, sizeof(d));
d[1][0] = 0;
for (int i = 1; i <= m; i++)
{
cin >> u >> v;
w[mp(u, v)] = true;
w[mp(v, u)] = true;
}
for (int i = 1; i <= 2 * n; i++)
{
minn = 0x3f3f3f3f;
state = 0;
for (int j = 1; j <= n; j++)
{
if (!vis[j][0] && d[j][0] <= minn)
mink = j, minn = d[j][0], state = 0;
if (!vis[j][1] && d[j][1] <= minn)
mink = j, minn = d[j][1], state = 1;
}
vis[mink][state] = 1;
for (int j = 1; j <= n; j++)
{
if (w[mp(mink, j)])
{
tmp = d[mink][state] + 1;
d[j][tmp % 2] = min(d[j][tmp % 2], tmp);
}
}
}
for (int i = 1; i <= q; i++)
{
cin >> a >> l;
if ((d[a][l % 2] <= 0x3f3f3f3f) && (d[a][l % 2] <= l))
cout << "Yes" << endl;
else
cout << "No" << endl;
}
}