#include #include #include #include #include #include #include #include #include #include #include "assert.h" using namespace std; int main(){ int n,q; cin >> n >> q; int SZ = sqrt(n)+1e-9; vector> bucket_sum(2, vector(SZ+2, 0)); vector lazy(SZ+2, 0); vector>> bucket(2, vector>(SZ+2, vector(SZ, 0))); long long ans_a = 0; long long ans_b = 0; auto push = [&](int l, int r){ for(int k : {l/SZ, r/SZ}){ if(lazy[k] != 0){ for(int j=0; j> x >> l >> r; if(x==0){ int cnt_a = 0; int cnt_b = 0; for(int k=(l+SZ)/SZ; kcnt_b?ans_a:ans_b) += max(cnt_a, cnt_b); }else{ for(int k=(l+SZ)/SZ; k