#include <bits/stdc++.h>
using namespace std;
int main() {
int n,q,k;
cin>>n>>q>>k;
vector<int> numbers(5*n, 0);
vector<int> startTimes(n), endTimes(n);
vector<int> updates(5*n,0);
for(int i=0; i<n; i++){
cin>>startTimes[i];
updates[startTimes[i]]++;
}
for(int i=0; i<n; i++){
cin>>endTimes[i];
updates[endTimes[i] + 1]--;
}
vector<int> B(5*n,0);
for(int i=0; i<5*n; i++){
updates[i+1] = updates[i+1] + updates[i];
numbers[i] += updates[i];
if(numbers[i] >= k)B[i] = 1;
}
for(int i=0; i<5*n-1; i++){
B[i+1] = B[i+1] + B[i];
}
vector<pair<int,int>> queries(q);
for(auto& query: queries){
cin>>query.first>>query.second;
int L = query.first, R = query.second;
if(B[R] - B[L - 1] >0)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCQoJaW50IG4scSxrOwoJY2luPj5uPj5xPj5rOwoJCgl2ZWN0b3I8aW50PiBudW1iZXJzKDUqbiwgMCk7CgkKCXZlY3RvcjxpbnQ+IHN0YXJ0VGltZXMobiksIGVuZFRpbWVzKG4pOwoJdmVjdG9yPGludD4gdXBkYXRlcyg1Km4sMCk7CgkKCWZvcihpbnQgaT0wOyBpPG47IGkrKyl7CgkJY2luPj5zdGFydFRpbWVzW2ldOwoJCXVwZGF0ZXNbc3RhcnRUaW1lc1tpXV0rKzsKCX0KCQoJZm9yKGludCBpPTA7IGk8bjsgaSsrKXsKCQljaW4+PmVuZFRpbWVzW2ldOwoJCXVwZGF0ZXNbZW5kVGltZXNbaV0gKyAxXS0tOwoJfQoJCgl2ZWN0b3I8aW50PiBCKDUqbiwwKTsKCQoJZm9yKGludCBpPTA7IGk8NSpuOyBpKyspewoJCXVwZGF0ZXNbaSsxXSA9IHVwZGF0ZXNbaSsxXSArIHVwZGF0ZXNbaV07CgkJbnVtYmVyc1tpXSArPSB1cGRhdGVzW2ldOwoJCQoJCWlmKG51bWJlcnNbaV0gPj0gaylCW2ldID0gMTsKCQkKCX0KCQoJZm9yKGludCBpPTA7IGk8NSpuLTE7IGkrKyl7CgkJQltpKzFdID0gQltpKzFdICsgQltpXTsKCX0KCQoJdmVjdG9yPHBhaXI8aW50LGludD4+IHF1ZXJpZXMocSk7CgkKCWZvcihhdXRvJiBxdWVyeTogcXVlcmllcyl7CgkJY2luPj5xdWVyeS5maXJzdD4+cXVlcnkuc2Vjb25kOwoJCQoJCWludCBMID0gcXVlcnkuZmlyc3QsIFIgPSBxdWVyeS5zZWNvbmQ7CgkJCgkJaWYoQltSXSAtIEJbTCAtIDFdID4wKWNvdXQ8PCJZRVMiPDxlbmRsOwoJCQoJCWVsc2UgY291dDw8Ik5PIjw8ZW5kbDsKCX0KCQoJCglyZXR1cm4gMDsKfQ==