#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=1e5+5;
int a[maxn],p,cnt[maxn],n,m;
bool ans[maxn];
struct node{
int l,r,id;
}q[maxn];
bool cmp(node x,node y){
return x.l==y.l ? x.r<y.r : x.l<y.l;
}
inline void add(int x){
if((++cnt[a[x]])==1) p++;
}
inline void sub(int x){
if((--cnt[a[x]])==0) --p;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=m;i++){
cin>>q[i].l>>q[i].r;
q[i].id=i;
}
sort(q+1,q+1+m,cmp);
int l=1,r=0;
for(int i=1;i<=m;i++){
while(q[i].l<l) add(--l);
while(q[i].r>r) add(++r);
while(q[i].l>l) sub(l++);
while(q[i].r<r) sub(r--);
if(p==(q[i].r-q[i].l+1)) ans[i]=true;
}
for(int i=1;i<=m;i++){
if(ans[i]) cout<<"Yes\n";
else cout<<"No\n";
}
return 0;
}