#include #include using namespace std; template struct Topk{ using S=long long; S inf=1e18; array a; array id; Topk(){ for (int i=0;i0&&a[i-1]=0&&(*this).id[i]!=id){ ret+=(*this).a[i]; cnt++; } } if (cnt; S op(S a,S b){return a.merge(b);} S e(){return S();} void solve(){ using ll=long long; int n,q; cin>>n>>q; vector s(n); vector v(n); for (int i=0;i>s[i],v[i].add(-s[i],i); atcoder::segtree seg(v); while (q--){ int l,r,k; cin>>l>>r>>k; l--; cout<<-seg.prod(l,r).sum(-1,k)<>t; while (t--) solve(); }