#include #include #include #include #define FORR(i,b,e) for(int i=(b);i<(int)(e);++i) #define FOR(i,e) FORR(i,0,e) #define sortuniq(v) sort(v.begin(), v.end()), v.erase(unique(v.begin(),v.end()),v.end()) #define dump(var) cerr << #var ": " << var << "\n" #define dumpc(con) for(auto& e: con) cerr << e << " "; cerr<<"\n" typedef long long ll; typedef unsigned long long ull; const double EPS = 1e-6; const int d4[] = {0, -1, 0, 1, 0}; using namespace std; struct Fish { int n, ts, ps; Fish(int n, int ts, int ps): n(n), ts(ts), ps(ps) {} }; int main() { cin.tie(0); ios::sync_with_stdio(false); int N, Q; cin >> N >> Q; vector x(Q); vector y(Q), z(Q); FOR(i, Q) cin >> x[i] >> y[i] >> z[i]; vector fish; fish.reserve(Q); int n2 = N * 2; FOR(i, Q) { if (x[i] == 'R') { fish.push_back(Fish(z[i], i, y[i])); } else if (x[i] == 'L') { fish.push_back(Fish(z[i], i, n2-y[i]-1)); } else { ll total = 0; for (auto &f: fish) { int p = (f.ps + i - f.ts) % n2; if ((y[i] <= p && p < z[i]) || (n2-z[i] <= p && p < n2-y[i])) total += f.n; } cout << total << '\n'; } } return 0; }