#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; template struct BIT{ //1-indexed vector bit; int size; BIT(int n):size(n), bit(n+1, 0){} T sum(int i){ T s=0; while(i>0){ s+=bit[i]; i-=(i&(-i)); } return s; } T sum(int l, int r){ return sum(r-1)-sum(l-1); } void add(int i, T x){ while(i<=size){ bit[i]+=x; i+=(i&(-i)); } } }; int main() { int n, q; cin>>n>>q; BIT bit(2*n); for(int i=0; i>x>>t>>y>>z; if(x=='L'){ bit.add((n-1-y+n-t%(2*n)+2*n)%(2*n)+1, z); }else if(x=='R'){ bit.add((y-t%(2*n)+2*n)%(2*n)+1, z); }else{ ll ans=0; int y1=(y-t%(2*n)+2*n)%(2*n), z1=(z-t%(2*n)+2*n)%(2*n); if(y1>z1){ ans+=bit.sum(y1+1, 2*n+1); ans+=bit.sum(z1); }else{ ans+=bit.sum(y1+1, z1+1); } y=n-1-y, z=n-z; swap(y, z); z++; y1=(y+n-t%(2*n)+2*n)%(2*n), z1=(z+n-t%(2*n)+2*n)%(2*n); if(y1>z1){ ans+=bit.sum(y1+1, 2*n+1); ans+=bit.sum(z1); }else{ ans+=bit.sum(y1+1, z1+1); } cout<