#include <bits/stdc++.h>
using namespace std;
const int B=500;
int N,Q,A[400400],s[25050],e[25050],h[25050],ans[25050];
priority_queue<int> pqMax[2*B+5], pqMin[2*B+5];
void add(int i,int &val){
int mx=pqMax[i].top();
if(mx<=val) return;
pqMax[i].pop(); pqMax[i].push(val);
pqMin[i].push(-val);
val=mx;
}
void solve(int L,int R){
vector<int> cr={1,N+1};
for(int i=L;i<=R;i++) cr.push_back(s[i]), cr.push_back(e[i]+1);
sort(cr.begin(),cr.end());
cr.erase(unique(cr.begin(),cr.end()),cr.end());
for(int i=0;i+1<cr.size();i++)
for(int j=cr[i];j<cr[i+1];j++)
pqMax[i].push(A[j]);
for(int i=L;i<=R;i++){
int ns=lower_bound(cr.begin(),cr.end(),s[i])-cr.begin();
int ne=lower_bound(cr.begin(),cr.end(),e[i]+1)-cr.begin();
int nh=h[i];
if(ns<ne) for(int j=ns;j<ne;j++) add(j,nh);
else for(int j=ns;j+1<cr.size();j++) add(j,nh);
for(int j=0;j<ne;j++) add(j,nh);
ans[i]=nh;
}
for(int i=0;i+1<cr.size();i++)
for(int j=cr[i];j<cr[i+1];j++){
if(pqMin[i].empty()) break;
int mn=-pqMin[i].top();
if(mn>=A[j]) continue;
pqMin[i].pop(); pqMin[i].push(-A[j]);
A[j]=mn;
}
for(int i=0;i<cr.size();i++) pqMax[i]=priority_queue<int>(), pqMin[i]=priority_queue<int>();
}
int main(){
ios::sync_with_stdio(0); cin.tie(0);
cin >> N >> Q;
for(int i=1;i<=N;i++) cin >> A[i];
for(int i=1;i<=Q;i++) cin >> s[i] >> e[i] >> h[i];
for(int i=1;i<=Q;i+=B) solve(i,min(i+B-1,Q));
for(int i=1;i<=Q;i++) cout << ans[i] << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBCPTUwMDsKaW50IE4sUSxBWzQwMDQwMF0sc1syNTA1MF0sZVsyNTA1MF0saFsyNTA1MF0sYW5zWzI1MDUwXTsKcHJpb3JpdHlfcXVldWU8aW50PiBwcU1heFsyKkIrNV0sIHBxTWluWzIqQis1XTsKCnZvaWQgYWRkKGludCBpLGludCAmdmFsKXsKICAgIGludCBteD1wcU1heFtpXS50b3AoKTsKICAgIGlmKG14PD12YWwpIHJldHVybjsKICAgIHBxTWF4W2ldLnBvcCgpOyBwcU1heFtpXS5wdXNoKHZhbCk7CiAgICBwcU1pbltpXS5wdXNoKC12YWwpOwogICAgdmFsPW14Owp9Cgp2b2lkIHNvbHZlKGludCBMLGludCBSKXsKICAgIHZlY3RvcjxpbnQ+IGNyPXsxLE4rMX07CiAgICBmb3IoaW50IGk9TDtpPD1SO2krKykgY3IucHVzaF9iYWNrKHNbaV0pLCBjci5wdXNoX2JhY2soZVtpXSsxKTsKICAgIHNvcnQoY3IuYmVnaW4oKSxjci5lbmQoKSk7CiAgICBjci5lcmFzZSh1bmlxdWUoY3IuYmVnaW4oKSxjci5lbmQoKSksY3IuZW5kKCkpOwoKICAgIGZvcihpbnQgaT0wO2krMTxjci5zaXplKCk7aSsrKQogICAgICAgIGZvcihpbnQgaj1jcltpXTtqPGNyW2krMV07aisrKQogICAgICAgICAgICBwcU1heFtpXS5wdXNoKEFbal0pOwoKICAgIGZvcihpbnQgaT1MO2k8PVI7aSsrKXsKICAgICAgICBpbnQgbnM9bG93ZXJfYm91bmQoY3IuYmVnaW4oKSxjci5lbmQoKSxzW2ldKS1jci5iZWdpbigpOwogICAgICAgIGludCBuZT1sb3dlcl9ib3VuZChjci5iZWdpbigpLGNyLmVuZCgpLGVbaV0rMSktY3IuYmVnaW4oKTsKICAgICAgICBpbnQgbmg9aFtpXTsKICAgICAgICBpZihuczxuZSkgZm9yKGludCBqPW5zO2o8bmU7aisrKSBhZGQoaixuaCk7CiAgICAgICAgZWxzZSBmb3IoaW50IGo9bnM7aisxPGNyLnNpemUoKTtqKyspIGFkZChqLG5oKTsgCiAgICAgICAgICAgICBmb3IoaW50IGo9MDtqPG5lO2orKykgYWRkKGosbmgpOwogICAgICAgIGFuc1tpXT1uaDsKICAgIH0KCiAgICBmb3IoaW50IGk9MDtpKzE8Y3Iuc2l6ZSgpO2krKykKICAgICAgICBmb3IoaW50IGo9Y3JbaV07ajxjcltpKzFdO2orKyl7CiAgICAgICAgICAgIGlmKHBxTWluW2ldLmVtcHR5KCkpIGJyZWFrOwogICAgICAgICAgICBpbnQgbW49LXBxTWluW2ldLnRvcCgpOwogICAgICAgICAgICBpZihtbj49QVtqXSkgY29udGludWU7CiAgICAgICAgICAgIHBxTWluW2ldLnBvcCgpOyBwcU1pbltpXS5wdXNoKC1BW2pdKTsKICAgICAgICAgICAgQVtqXT1tbjsKICAgICAgICB9CgogICAgZm9yKGludCBpPTA7aTxjci5zaXplKCk7aSsrKSBwcU1heFtpXT1wcmlvcml0eV9xdWV1ZTxpbnQ+KCksIHBxTWluW2ldPXByaW9yaXR5X3F1ZXVlPGludD4oKTsKfQoKaW50IG1haW4oKXsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOwogICAgY2luID4+IE4gPj4gUTsKICAgIGZvcihpbnQgaT0xO2k8PU47aSsrKSBjaW4gPj4gQVtpXTsKICAgIGZvcihpbnQgaT0xO2k8PVE7aSsrKSBjaW4gPj4gc1tpXSA+PiBlW2ldID4+IGhbaV07CiAgICBmb3IoaW50IGk9MTtpPD1RO2krPUIpIHNvbHZlKGksbWluKGkrQi0xLFEpKTsKICAgIGZvcihpbnQgaT0xO2k8PVE7aSsrKSBjb3V0IDw8IGFuc1tpXSA8PCAnXG4nOwp9