#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#define MAXN 50000
using namespace std;
vector<int> t[4*MAXN];
int a[MAXN], pos[MAXN];
void build (int v, int tl, int tr) {
if (tl == tr)
t[v] = vector<int> (1, a[tl]);
else {
int tm = (tl + tr) / 2;
build ( v*2, tl, tm);
build ( v*2+1, tm+1, tr);
merge (t[v*2].begin(), t[v*2].end(), t[v*2+1].begin(), t[v*2+1].end(),
back_inserter (t[v]));
}
}
int query (int v, int tl, int tr, int l, int r, int x) {
if (l > r)
return 0;
if (l == tl && tr == r) {
vector<int>::iterator pos = lower_bound (t[v].begin(), t[v].end(), x);
if (pos != t[v].end())
return pos-t[v].begin();
return (r-l+1);
}
int tm = (tl + tr) / 2;
return query (v*2, tl, tm, l, min(r,tm), x)+query (v*2+1, tm+1, tr, max(l,tm+1), r, x);
}
int main () {
int n,m;
cin>>n>>m;
for (int i=1; i<=n; ++i){
cin>>a[i];
pos[a[i]]=i;
}
build(1,1,n);
int l,x,r;
for (int i=0; i<m; ++i){
cin>>l>>r>>x;
int val=a[x];
int now=query(1, 1,n,l,r,val);
if (now==x-l)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNkZWZpbmUgTUFYTiA1MDAwMAp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2ZWN0b3I8aW50PiB0WzQqTUFYTl07CmludCBhW01BWE5dLCBwb3NbTUFYTl07IAp2b2lkIGJ1aWxkIChpbnQgdiwgaW50IHRsLCBpbnQgdHIpIHsKCSBpZiAodGwgPT0gdHIpCgkgICAgCXRbdl0gPSB2ZWN0b3I8aW50PiAoMSwgYVt0bF0pOwogIAllbHNlIHsKCQlpbnQgdG0gPSAodGwgKyB0cikgLyAyOwoJCWJ1aWxkICggdioyLCB0bCwgdG0pOwoJCWJ1aWxkICggdioyKzEsIHRtKzEsIHRyKTsKCQltZXJnZSAodFt2KjJdLmJlZ2luKCksIHRbdioyXS5lbmQoKSwgdFt2KjIrMV0uYmVnaW4oKSwgdFt2KjIrMV0uZW5kKCksCgkJCWJhY2tfaW5zZXJ0ZXIgKHRbdl0pKTsKCX0KfQoKaW50IHF1ZXJ5IChpbnQgdiwgaW50IHRsLCBpbnQgdHIsIGludCBsLCBpbnQgciwgaW50IHgpIHsKCWlmIChsID4gcikKCQlyZXR1cm4gMDsKCWlmIChsID09IHRsICYmIHRyID09IHIpIHsKCQl2ZWN0b3I8aW50Pjo6aXRlcmF0b3IgcG9zID0gbG93ZXJfYm91bmQgKHRbdl0uYmVnaW4oKSwgdFt2XS5lbmQoKSwgeCk7CgkJaWYgKHBvcyAhPSB0W3ZdLmVuZCgpKQoJCQlyZXR1cm4gcG9zLXRbdl0uYmVnaW4oKTsKCQlyZXR1cm4gKHItbCsxKTsKCX0KCWludCB0bSA9ICh0bCArIHRyKSAvIDI7CglyZXR1cm4gCXF1ZXJ5ICh2KjIsIHRsLCB0bSwgbCwgbWluKHIsdG0pLCB4KStxdWVyeSAodioyKzEsIHRtKzEsIHRyLCBtYXgobCx0bSsxKSwgciwgeCk7Cn0KCmludCBtYWluICgpIHsKCiAgICBpbnQgbixtOwogICAgY2luPj5uPj5tOwogICAgZm9yIChpbnQgaT0xOyBpPD1uOyArK2kpewogICAgICAgIGNpbj4+YVtpXTsKICAgICAgICBwb3NbYVtpXV09aTsKICAgIH0KICAgIGJ1aWxkKDEsMSxuKTsKICAgIGludCBsLHgscjsKICAgIGZvciAoaW50IGk9MDsgaTxtOyArK2kpewogICAgICAgIGNpbj4+bD4+cj4+eDsKICAgICAgICBpbnQgdmFsPWFbeF07CiAgICAgICAgaW50IG5vdz1xdWVyeSgxLCAxLG4sbCxyLHZhbCk7CiAgICAgICAgaWYgKG5vdz09eC1sKQogICAgICAgICAgICBjb3V0PDwiWWVzIjw8ZW5kbDsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGNvdXQ8PCJObyI8PGVuZGw7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==