#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n, m; cin >> n >> m;
vector<int> a(n);
for (int i=0; i<n; i++) {
cin >> a[i];
}
while (m--) {
int l, r, k; cin >> l >> r >> k;
l--; r--;
vector<int> b;
for (int i=l; i<=r; i++) {
b.push_back(a[i]);
}
vector<int> c = b;
int idx=0, menor=b[0];
int s = c.size();
map<int, int> mp;
mp[b[0]] = 0;
for (int i=1; i<s; i++) {
mp[b[i]] = i;
if (b[i] < menor) {
menor = b[i];
idx = i;
}
}
sort(c.begin(), c.end());
bool can = true;
for (int i=s-1; i>=0; i--) {
int intended = c[i];
int act = b[i];
if (intended+act > k) {
int menor = c[0];
if (act+menor>k) {
//No puedo ponerlo aca
can = false;
break;
}
else {
swap(b[i], b[idx]);
idx = i;
}
}
swap(b[i], b[mp[c[i]]]);
}
cout << (can ? 1 : 0) << "\n";
}
}