#include #define F first #define S second using namespace std; typedef long long ll; typedef long double ld; const int N=1<<18; ll stm[2*N]; ll sts[2*N]; ll sisu[2*N]; const ll inf=1e18; pair qq(int i, int stl, int str, int l, int r, ll add){ if (l>str||r q1=qq(i*2, stl, m, l, r, add); pair q2=qq(i*2+1, m+1, str, l, r, add); stm[i]=min(stm[i*2], stm[i*2+1])+sisu[i]; return {q1.F+q2.F+(ll)lk*sisu[i], min(q1.S, q2.S)+sisu[i]}; } } int main(){ freopen("haybales.in", "r", stdin); freopen("haybales.out", "w", stdout); ios_base::sync_with_stdio(0); cin.tie(0); int n,q; cin>>n>>q; for (int i=0;i>sts[i+N]; stm[i+N]=sts[i+N]; } for (int i=N-1;i;i--){ sts[i]=sts[i*2]+sts[i*2+1]; stm[i]=min(stm[i*2], stm[i*2+1]); } for (int i=0;i>t>>l>>r; l--; r--; if (t=='M'){ pair a=qq(1, 0, N-1, l, r, 0); cout<>c; qq(1, 0, N-1, l, r, c); } if (t=='S'){ pair a=qq(1, 0, N-1, l, r, 0); cout<