// July Challenge Problem - 3 //
#include <cstdio>
#include<vector>
#include<algorithm>
using namespace std;
// Our utility Functions //
vector<long int> v;
bool myfunction (long int i,long int j) { return (v[i]<v[j]); }
// Main Starts here //
int main() {
vector<long int> vcopy;
long int k,n;
long int p,it;
long int A,B;
long int mins,maxs;
long int ad=0;
long int seclast;
// --------- Variable Declarations Over ------ //
scanf("%ld",&n);
scanf("%ld",&k);
scanf("%ld",&p);
v.resize(n);
vcopy.resize(n);
for(it=0;it<n;it++)
{
scanf("%ld",&v[it]);
vcopy[it]=it;
}
// Pre processing steps //
sort(vcopy.begin(),vcopy.end(),myfunction); // sort with respect to v ( nlogn algorithm)
it=0;
ad=0;
seclast=v[vcopy[n-2]];
for(it=0;it<(n-1);it++)
{
if((v[vcopy[it+1]]-v[vcopy[it]])<=k)
{
v[vcopy[it]]=ad;
//it++;
}
else
{
v[vcopy[it]]=ad;
// it++;
ad++;
}
}
if((v[vcopy[n-1]]-seclast)<=k)
{
v[vcopy[n-1]]=ad;
}
else
{
v[vcopy[n-1]]=ad+1;
}
// Time for answering the queries in O(1) after O(nlogn +n) algorithms //
while(p--)
{
scanf("%ld",&A);
A--;
scanf("%ld",&B);
B--;
if(v[A]==v[B])
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
return 0;
}
Ly8gSnVseSBDaGFsbGVuZ2UgUHJvYmxlbSAtIDMgLy8KI2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8vIE91ciB1dGlsaXR5IEZ1bmN0aW9ucyAvLwp2ZWN0b3I8bG9uZyBpbnQ+IHY7CmJvb2wgbXlmdW5jdGlvbiAobG9uZyBpbnQgaSxsb25nIGludCBqKSB7IHJldHVybiAodltpXTx2W2pdKTsgfQovLyBNYWluIFN0YXJ0cyBoZXJlIC8vCmludCBtYWluKCkgewogCgl2ZWN0b3I8bG9uZyBpbnQ+IHZjb3B5OwogCglsb25nIGludCBrLG47Cglsb25nIGludCBwLGl0OwoJbG9uZyBpbnQgQSxCOwoJbG9uZyBpbnQgbWlucyxtYXhzOwoJbG9uZyBpbnQgYWQ9MDsKCWxvbmcgaW50IHNlY2xhc3Q7Ci8vIC0tLS0tLS0tLSBWYXJpYWJsZSBEZWNsYXJhdGlvbnMgT3ZlciAtLS0tLS0gLy8JCglzY2FuZigiJWxkIiwmbik7CglzY2FuZigiJWxkIiwmayk7CglzY2FuZigiJWxkIiwmcCk7CiB2LnJlc2l6ZShuKTsKIHZjb3B5LnJlc2l6ZShuKTsKCWZvcihpdD0wO2l0PG47aXQrKykKCXsKCSAgc2NhbmYoIiVsZCIsJnZbaXRdKTsKCSAgdmNvcHlbaXRdPWl0OwoJCX0gCgkJLy8gUHJlIHByb2Nlc3Npbmcgc3RlcHMgLy8Kc29ydCh2Y29weS5iZWdpbigpLHZjb3B5LmVuZCgpLG15ZnVuY3Rpb24pOyAgICAgICAvLyBzb3J0IHdpdGggcmVzcGVjdCB0byB2ICggbmxvZ24gYWxnb3JpdGhtKQppdD0wOwphZD0wOwpzZWNsYXN0PXZbdmNvcHlbbi0yXV07Cgpmb3IoaXQ9MDtpdDwobi0xKTtpdCsrKQp7CglpZigodlt2Y29weVtpdCsxXV0tdlt2Y29weVtpdF1dKTw9aykKCXsKCQl2W3Zjb3B5W2l0XV09YWQ7CgkJLy9pdCsrOwoJfQoJZWxzZQoJewoJCXZbdmNvcHlbaXRdXT1hZDsKCSAvLyAgICAgaXQrKzsKCSAgICAgIAoJICAgICAgYWQrKzsKCX0KIH0KIGlmKCh2W3Zjb3B5W24tMV1dLXNlY2xhc3QpPD1rKQogewogCXZbdmNvcHlbbi0xXV09YWQ7CiB9CiBlbHNlCiB7CiAJdlt2Y29weVtuLTFdXT1hZCsxOwogfQoKCiAvLyBUaW1lIGZvciBhbnN3ZXJpbmcgdGhlIHF1ZXJpZXMgaW4gTygxKSBhZnRlciBPKG5sb2duICtuKSBhbGdvcml0aG1zIC8vCiB3aGlsZShwLS0pCiB7CiAJc2NhbmYoIiVsZCIsJkEpOwogCUEtLTsKIAlzY2FuZigiJWxkIiwmQik7CiAJQi0tOwogCWlmKHZbQV09PXZbQl0pCiAJewogCQlwcmludGYoIlllc1xuIik7CiAJfQogCWVsc2UKIAl7CiAJCXByaW50ZigiTm9cbiIpOwogCX0KIH0KCXJldHVybiAwOwp9