#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int mod=998244353; class RMQ{ int n; vectorvec; vector>dat; vector>sum; public: void init(int k,int l,int r){ if(r-l==1) dat[k].push_back(vec[k-(n-1)]); else{ init(k*2+1,l,(l+r)/2); init(k*2+2,(l+r)/2,r); merge(dat[k*2+1].begin(),dat[k*2+1].end(),dat[k*2+2].begin(),dat[k*2+2].end(),back_inserter(dat[k])); } sum[k].resize(dat[k].size()+1); for(int i=0;ia):n(1),vec(a){ while(n>n>>q; for(int i=0;i>a[i]; RMQ seg(vector(a,a+n)); while(cin>>l>>r>>x) cout<