struct N{ int v; int l; int r; }; N segtree_ph_func(N a,N b){ N r; if(a.rb.l){ r.v=a.v; r.l=a.l; r.r=b.r+a.r-b.l; }else{ r.v=a.v+b.v; r.l=a.l; r.r=b.r; } return r; } { segtree_pht; ll@n,@q; pairqs[q]; t.malloc(n,1); rep(i,n){ t[i].v=1; t[i].l=0; t[i].r=0; } t.build(); rep(i,q){ ll@c; if(c==1){ ll@l--,@r--; qs[i]={l,r}; if(l