#include<iostream>
#include<vector>
#include<set>
#include<map>
#include<iomanip>
#include <cassert>
#include<algorithm>
#include<queue>
#include <array>
#include <bitset>
using namespace std;
#define int long long
#define pii pair<int,int>
int INF = 1e18;
int n, m, q;
vector<pii>elist;
bool ok = true;
void dfs(int node, vector<vector<int>>& adj, vector<bool>& vis, vector<int>& col){
if(vis[node]) return;
vis[node] = true;
for(int i : adj[node]){
if(col[i] == col[node]){
//cout << i << " " << node << " had bafd!" << endl;
ok = false;
}
if(vis[i]) continue;
col[i] = 1 - col[node];
dfs(i, adj, vis, col);
}
}
int32_t main(){
cin.tie(0)->sync_with_stdio(0);
cin >> n >> m >> q;
for(int i = 0; i < m; ++i){
int a, b; cin >> a >> b;
elist.push_back({a, b});
}
for(int i = 0; i < q; ++i){
int l, r; cin >> l >> r;
--l; --r;
vector<bool>vis(n + 1, false);
vector<vector<int>>adj(n + 1);
vector<int>col(n + 1, -1);
ok = true;
for(int j = 0; j < m; ++j){
if(l <= j && j <= r)
continue;
auto [a, b] = elist[j];
adj[a].push_back(b);
adj[b].push_back(a);
}
for(int j = 1; j <= n; ++j){
if(!vis[j]){
col[j] = 1;
dfs(j, adj, vis, col);
}
}
if(!ok){
cout << "YES\n";
} else{
cout << "NO\n";
}
}
}