#include<bits/stdc++.h>
using namespace std;
#define int long long
int a,b,c,d[3005],e,f;
vector<int>v[3005];
bool ca[3005][3005]={0};
bool aa[3005][2]={0};
bool dfs(int x){
// cout<<x<<endl;
aa[x][1]=1;
for(int i=0;i<v[x].size();i++){
if(aa[v[x][i]][1]==1) return 0;
if(aa[v[x][i]][0]==0){
if(dfs(v[x][i])==0) return 0;
}
}
aa[x][0]=1;
aa[x][1]=0;
return 1;
}
bool che(int x,int y){
for(int i=0;i<=b;i++) v[i].clear(),aa[i][0]=0,aa[i][1]=0;
for(int i=x;i<=y;i++){
if(i%2==0){
if(i-1>=x)v[d[i]].push_back(d[i-1]);
if(i+1<=y)v[d[i]].push_back(d[i+1]);
}
}
for(int i=1;i<=b;i++){
if(aa[i][0]==0){
if(dfs(i)==0) return 0;
}
}
return 1;
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>a>>b>>c;
cin>>d[0];
for(int i=1;i<a;i++) {
cin>>d[i];
}
for(int i=0;i<a;i++){
int l=i+1,r=a,ans=0;
while(l<r){
int m=(l+r)/2;
if(che(i,m)==0){
r=m;
}
else {
l=m+1;
}
}
for(int h=i+1;h<l;h++){
ca[i][h]=1;
}
}
// for(int i=0;i<a;i++){
// for(int h=i+1;h<a;h++){
// cout<<ca[i][h];
// }
// cout<<endl;
// }
for(int i=0;i<c;i++){
cin>>e>>f;
e--;
f--;
if(ca[e][f]) cout<<"YES\n";
else cout<<"NO\n";
}
}