/*
author : [ Godsent ]
created : 2025.08.13 17:30:25
*/
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define el "\n"
#define int long long
#define lb lower_bound
#define ub upper_bound
#define fi first
#define se second
#define sz(x) ((int)(x).size())
#define all(v) (v).begin(), (v).end()
#define pb push_back
#define prs(n) fixed << setprecision(n)
const int mod = 1e9 + 7;
const int N = 2e5 + 5;
const int INF = 1e18;
using namespace std;
using namespace __gnu_pbds;
template <typename T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
int n, q;
vector<pair<int,int>> b;
int a[N], bit[N], res[N];
void update(int i) {
while(i <= n) {
bit[i] += 1;
i += i & -1;
}
}
int get(int i) {
int res = 0;
while (i > 0) {
res += bit[i];
i -= i & -i;
}
return res;
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
#ifndef ONLINE_JUDGE
freopen("test.in", "r", stdin);
freopen("test.out", "w", stdout);
#endif
cin >> n >> q;
int l = INF, r = -INF;
for (int i = 1; i <= n; i++) {
cin >> a[i];
b.pb({a[i], i});
l = min(l, a[i]);
r = max(r, a[i]);
}
sort(all(b));
vector<vector<int>> bucket(q, vector<int>(7));
for (int i = 0; i < q; i++) {
int u, v, k;
cin >> u >> v >> k;
bucket[i][0] = (l + r) >> 1;
bucket[i][1] = l;
bucket[i][2] = r;
bucket[i][3] = u;
bucket[i][4] = v;
bucket[i][5] = k;
bucket[i][6] = i + 1;
}
bool done = false;
while(!done) {
done = true;
sort(all(bucket));
int idx = 0;
for (int i = 0; i < q; i++) {
if (bucket[i][1] > bucket[i][2]) continue;
if (bucket[i][1] <= bucket[i][2]) done = false;
while (b[idx].fi <= bucket[i][0]) {
update(b[idx].se);
idx++;
}
int s = get(bucket[i][4]) - get(bucket[i][3] - 1);
if (s >= bucket[i][5]) {
res[bucket[i][6]] = bucket[i][0];
bucket[i][2] = bucket[i][0] - 1;
}
else bucket[i][1] = bucket[i][0] + 1;
}
for (int i = 1; i <= n; i++) bit[i] = 0;
}
for (int i = 1; i <= q; i++) cout << res[i] << el;
return 0;
}
LyoKICAgIGF1dGhvciAgOiBbIEdvZHNlbnQgXQogICAgY3JlYXRlZCA6IDIwMjUuMDguMTMgMTc6MzA6MjUKKi8KCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojaW5jbHVkZSA8ZXh0L3BiX2RzL2Fzc29jX2NvbnRhaW5lci5ocHA+CiNpbmNsdWRlIDxleHQvcGJfZHMvdHJlZV9wb2xpY3kuaHBwPgojZGVmaW5lIGVsICJcbiIKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgbGIgbG93ZXJfYm91bmQKI2RlZmluZSB1YiB1cHBlcl9ib3VuZAojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgc3ooeCkgKChpbnQpKHgpLnNpemUoKSkKI2RlZmluZSBhbGwodikgKHYpLmJlZ2luKCksICh2KS5lbmQoKQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHBycyhuKSBmaXhlZCA8PCBzZXRwcmVjaXNpb24obikKCmNvbnN0IGludCBtb2QgPSAxZTkgKyA3Owpjb25zdCBpbnQgTiA9IDJlNSArIDU7CmNvbnN0IGludCBJTkYgPSAxZTE4OwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7CnRlbXBsYXRlIDx0eXBlbmFtZSBUPgp1c2luZyBvcmRlcmVkX3NldCA9IHRyZWU8VCwgbnVsbF90eXBlLCBsZXNzPFQ+LCByYl90cmVlX3RhZywgdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPjsKCmludCBuLCBxOwp2ZWN0b3I8cGFpcjxpbnQsaW50Pj4gYjsKaW50IGFbTl0sIGJpdFtOXSwgcmVzW05dOwoKdm9pZCB1cGRhdGUoaW50IGkpIHsKICB3aGlsZShpIDw9IG4pIHsKICAgIGJpdFtpXSArPSAxOwogICAgaSArPSBpICYgLTE7CiAgfQp9CgppbnQgZ2V0KGludCBpKSB7CiAgaW50IHJlcyA9IDA7CiAgd2hpbGUgKGkgPiAwKSB7CiAgICByZXMgKz0gYml0W2ldOwogICAgaSAtPSBpICYgLWk7ICAKICB9CiAgcmV0dXJuIHJlczsKfQoKc2lnbmVkIG1haW4oKSB7CiAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgY2luLnRpZSgwKTsKICBjb3V0LnRpZSgwKTsKCiNpZm5kZWYgT05MSU5FX0pVREdFCiAgZnJlb3BlbigidGVzdC5pbiIsICJyIiwgc3RkaW4pOwogIGZyZW9wZW4oInRlc3Qub3V0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKCiAgY2luID4+IG4gPj4gcTsKICBpbnQgbCA9IElORiwgciA9IC1JTkY7CiAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICBjaW4gPj4gYVtpXTsKICAgIGIucGIoe2FbaV0sIGl9KTsKICAgIGwgPSBtaW4obCwgYVtpXSk7CiAgICByID0gbWF4KHIsIGFbaV0pOwogIH0KCiAgc29ydChhbGwoYikpOwoKICB2ZWN0b3I8dmVjdG9yPGludD4+IGJ1Y2tldChxLCB2ZWN0b3I8aW50Pig3KSk7CiAgZm9yIChpbnQgaSA9IDA7IGkgPCBxOyBpKyspIHsKICAgIGludCB1LCB2LCBrOwogICAgY2luID4+IHUgPj4gdiA+PiBrOwogICAgYnVja2V0W2ldWzBdID0gKGwgKyByKSA+PiAxOwogICAgYnVja2V0W2ldWzFdID0gbDsKICAgIGJ1Y2tldFtpXVsyXSA9IHI7CiAgICBidWNrZXRbaV1bM10gPSB1OwogICAgYnVja2V0W2ldWzRdID0gdjsKICAgIGJ1Y2tldFtpXVs1XSA9IGs7CiAgICBidWNrZXRbaV1bNl0gPSBpICsgMTsKICB9CgogIGJvb2wgZG9uZSA9IGZhbHNlOwogIHdoaWxlKCFkb25lKSB7CiAgICBkb25lID0gdHJ1ZTsKCiAgICBzb3J0KGFsbChidWNrZXQpKTsKCiAgICBpbnQgaWR4ID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcTsgaSsrKSB7CiAgICAgIGlmIChidWNrZXRbaV1bMV0gPiBidWNrZXRbaV1bMl0pIGNvbnRpbnVlOwogICAgICBpZiAoYnVja2V0W2ldWzFdIDw9IGJ1Y2tldFtpXVsyXSkgZG9uZSA9IGZhbHNlOwogICAgICB3aGlsZSAoYltpZHhdLmZpIDw9IGJ1Y2tldFtpXVswXSkgewogICAgICAgIHVwZGF0ZShiW2lkeF0uc2UpOwogICAgICAgIGlkeCsrOwogICAgICB9CiAgICAgIGludCBzID0gZ2V0KGJ1Y2tldFtpXVs0XSkgLSBnZXQoYnVja2V0W2ldWzNdIC0gMSk7CiAgICAgIGlmIChzID49IGJ1Y2tldFtpXVs1XSkgewogICAgICAgIHJlc1tidWNrZXRbaV1bNl1dID0gYnVja2V0W2ldWzBdOwogICAgICAgIGJ1Y2tldFtpXVsyXSA9IGJ1Y2tldFtpXVswXSAtIDE7CiAgICAgIH0KICAgICAgZWxzZSBidWNrZXRbaV1bMV0gPSBidWNrZXRbaV1bMF0gKyAxOwogICAgfQogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBiaXRbaV0gPSAwOwogIH0KCiAgZm9yIChpbnQgaSA9IDE7IGkgPD0gcTsgaSsrKSBjb3V0IDw8IHJlc1tpXSA8PCBlbDsKCiAgcmV0dXJuIDA7Cn0=