#include <bits/stdc++.h>
using namespace std;
#define int long long
#define vi vector<int>
#define fi first
#define se second
#define pb push_back
#define ii pair<int , int>
#define pq priority_queue
#define iii pair<int , pair<int , int>>
#define fo(i,l,r) for(int i=l;i<=r;i++)
#define fod(i,r,l) for(int i=r;i>=l;i--)
#define fill(f,x) memset(f,x,sizeof(f))
#define NAME "file"
const int N = 3e5 + 5, mod = 1e9 + 7;
int n , q , a[N] , bit[N] , l[N] , r[N] , k[N] , L[N] , R[N] , ans[N] , val[N];
vector <int> dat[N] , qr[N];
struct time
{
int l , r , x;
} td[N];
void upd(int x, int v)
{
for (; x <= n; x += x & -x) bit[x] += v;
}
int get(int x)
{
int res = 0;
for (; x >= 1; x &= x - 1) res += bit[x];
return res;
}
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
//freopen(NAME".INP" , "r" , stdin);
//freopen(NAME".OUT" , "w" , stdout);
cin >> n >> q;
map <int , int> mp;
fo(i, 1, n)
{
cin >> a[i];
mp[a[i]] = 1;
}
int ord = 0;
for (auto e : mp)
{
ord++;
val[ord] = e.fi;
mp[e.fi] = ord;
}
fo(i, 1, n)
{
a[i] = mp[a[i]];
dat[a[i]].push_back(i);
}
fo(i, 1, q)
cin >> l[i] >> r[i] >> k[i];
//
fo(i, 1, q)
{
L[i] = 1;
R[i] = ord;
ans[i] = -1;
}
bool run = 1;
while (run)
{
run = 0;
fo(i, 1, q)
if (L[i] <= R[i])
{
run = 1;
qr[(L[i] + R[i]) / 2].push_back(i);
}
fo(x, 1, ord)
{
for (auto pos : dat[x])
upd(pos , 1);
for (auto i : qr[x])
{
if (get(r[i]) - get(l[i] - 1) >= k[i])
{
ans[i] = val[x];
R[i] = x - 1;
}
else
L[i] = x + 1;
}
}
fo(i, 1, n) bit[i] = 0;
fo(i, 1, ord) qr[i].clear();
}
fo(i, 1, q)
cout << ans[i] << '\n';
}
// haronnee_
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIHZpIHZlY3RvcjxpbnQ+CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBpaSBwYWlyPGludCAsIGludD4KI2RlZmluZSBwcSBwcmlvcml0eV9xdWV1ZQojZGVmaW5lIGlpaSBwYWlyPGludCAsIHBhaXI8aW50ICwgaW50Pj4KI2RlZmluZSBmbyhpLGwscikgZm9yKGludCBpPWw7aTw9cjtpKyspCiNkZWZpbmUgZm9kKGkscixsKSBmb3IoaW50IGk9cjtpPj1sO2ktLSkKI2RlZmluZSBmaWxsKGYseCkgbWVtc2V0KGYseCxzaXplb2YoZikpCiNkZWZpbmUgTkFNRSAiZmlsZSIKCmNvbnN0IGludCBOID0gM2U1ICsgNSwgbW9kID0gMWU5ICsgNzsKaW50IG4gLCBxICwgYVtOXSAsIGJpdFtOXSAsIGxbTl0gLCByW05dICwga1tOXSAsIExbTl0gLCBSW05dICwgYW5zW05dICwgdmFsW05dOwp2ZWN0b3IgPGludD4gZGF0W05dICwgcXJbTl07CgpzdHJ1Y3QgdGltZQp7CiAgICBpbnQgbCAsIHIgLCB4Owp9IHRkW05dOwoKCnZvaWQgdXBkKGludCB4LCBpbnQgdikgCnsKCWZvciAoOyB4IDw9IG47IHggKz0geCAmIC14KSBiaXRbeF0gKz0gdjsKfQoKaW50IGdldChpbnQgeCkgCnsKCWludCByZXMgPSAwOwoJZm9yICg7IHggPj0gMTsgeCAmPSB4IC0gMSkgcmVzICs9IGJpdFt4XTsKCXJldHVybiByZXM7Cn0KCgoKc2lnbmVkIG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsgIGNvdXQudGllKDApOwogICAgLy9mcmVvcGVuKE5BTUUiLklOUCIgLCAiciIgLCBzdGRpbik7CiAgICAvL2ZyZW9wZW4oTkFNRSIuT1VUIiAsICJ3IiAsIHN0ZG91dCk7CgogICAgY2luID4+IG4gPj4gcTsKICAgIG1hcCA8aW50ICwgaW50PiBtcDsKICAgIGZvKGksIDEsIG4pCiAgICB7CiAgICAgICAgY2luID4+IGFbaV07CiAgICAgICAgbXBbYVtpXV0gPSAxOwogICAgfQogICAgaW50IG9yZCA9IDA7CiAgICBmb3IgKGF1dG8gZSA6IG1wKQogICAgewogICAgICAgIG9yZCsrOwogICAgICAgIHZhbFtvcmRdID0gZS5maTsKICAgICAgICBtcFtlLmZpXSA9IG9yZDsKICAgIH0KICAgIGZvKGksIDEsIG4pCiAgICB7CiAgICAgICAgYVtpXSA9IG1wW2FbaV1dOwogICAgICAgIGRhdFthW2ldXS5wdXNoX2JhY2soaSk7CiAgICB9CgogICAgZm8oaSwgMSwgcSkKICAgICAgICBjaW4gPj4gbFtpXSA+PiByW2ldID4+IGtbaV07CgogICAgLy8KCiAgICBmbyhpLCAxLCBxKQogICAgewogICAgICAgIExbaV0gPSAxOwogICAgICAgIFJbaV0gPSBvcmQ7CiAgICAgICAgYW5zW2ldID0gLTE7CiAgICB9CgogICAgYm9vbCBydW4gPSAxOwogICAgd2hpbGUgKHJ1bikKICAgIHsKICAgICAgICBydW4gPSAwOwogICAgICAgIAogICAgICAgIGZvKGksIDEsIHEpCiAgICAgICAgaWYgKExbaV0gPD0gUltpXSkKICAgICAgICB7CiAgICAgICAgICAgIHJ1biA9IDE7CiAgICAgICAgICAgIHFyWyhMW2ldICsgUltpXSkgLyAyXS5wdXNoX2JhY2soaSk7CiAgICAgICAgfQoKICAgICAgICBmbyh4LCAxLCBvcmQpCiAgICAgICAgewogICAgICAgICAgICBmb3IgKGF1dG8gcG9zIDogZGF0W3hdKQogICAgICAgICAgICAgICAgdXBkKHBvcyAsIDEpOwoKICAgICAgICAgICAgZm9yIChhdXRvIGkgOiBxclt4XSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKGdldChyW2ldKSAtIGdldChsW2ldIC0gMSkgPj0ga1tpXSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBhbnNbaV0gPSB2YWxbeF07CiAgICAgICAgICAgICAgICAgICAgUltpXSA9IHggLSAxOwogICAgICAgICAgICAgICAgfSAgCiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgTFtpXSA9IHggKyAxOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmbyhpLCAxLCBuKSBiaXRbaV0gPSAwOwogICAgICAgIGZvKGksIDEsIG9yZCkgcXJbaV0uY2xlYXIoKTsKICAgIH0KCiAgICBmbyhpLCAxLCBxKQogICAgICAgIGNvdXQgPDwgYW5zW2ldIDw8ICdcbic7Cn0KLy8gaGFyb25uZWVf