#include using namespace std; using ll=long long; template struct segtree{ private: int siz; vector val; S prod(int l,int r,int a,int b,int u){ if(l<=a&&b<=r)return val[u]; if(b<=l||r<=a)return e(); int m=(a+b)/2; return op(prod(l,r,a,m,2*u),prod(l,r,m,b,2*u+1)); } public: segtree(vector a){ int n=a.size();siz=1; while(siz=1;i--)val[i]=op(val[2*i],val[2*i+1]); } S prod(int l,int r){return prod(l,r,0,siz,1);} }; int op(int a,int b){return min(a,b);} int e(){return 1<<30;} int main(){ int n,q;cin>>n>>q; vector s(n); for(int i=0;i>s[i]; segtree seg(s); while(q--){ int l,r,k;cin>>l>>r>>k; l--; cout<