N,Q=gets.split.map(&:to_i) NN=N*2 BIT=[0]*(NN+1) def add x,v;(BIT[x]+=v;x+=x&-x)while BIT[x];end def sum x;s=0;(s+=BIT[x];x&=x-1)while x>0;s;end Q.times{|t| x,*v=gets.split y,z=v.map(&:to_i) case x when ?L add (y+t)%NN+1,z when ?R add (-y-1+t)%NN+1,z when ?C ty,tz=(y+t)%NN,(z-1+t)%NN uz,uy=(-z+t)%NN,(-y-1+t)%NN p sum(tz+1)-sum(ty)+(ty<=tz ?0:sum(NN))+ sum(uy+1)-sum(uz)+(uz<=uy ?0:sum(NN)) end }