{ ll@n,@m,@q; segtree_Point_Prod t; t.walloc(m,1); rep(q){ ll@a; if(a==1){ ll@d; Permutation p(n); rd(p(n)--); t.change(m-d,p); } if(a==2){ ll@s; Permutation p=t.getProd(m-s,m); VI x(n); x[0..n-1]=(1..); p.apply(x.data()); wt(x(n)); } if(a==3){ ll@l,@r; Permutation p=t.getProd(m-r,m-l+1); wt(sum[i,0,n](abs(p[i]-i))); } } }