#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);} }; using ar=array; ar f={1<<30,1<<30,1<<30,1<<30,1<<30,1<<30,1<<30,1<<30,1<<30,1<<30}; ar op(ar a,ar b){ ar c;int l=0,r=0; for(int i=0;i<10;i++){ if(a[l]>n>>q; vector s(n,f); for(int i=0;i>s[i][0]; segtree seg(s); while(q--){ int l,r,k;cin>>l>>r>>k; l--; ar p=seg.prod(l,r); ll ans=0; for(int i=0;i