def main(): import sys input = sys.stdin.read().split() ptr = 0 N = int(input[ptr]) ptr += 1 Q = int(input[ptr]) ptr += 1 groups_right = [] groups_left = [] cycle = N - 1 for q in range(1, Q + 1): x = input[ptr] ptr += 1 if x == 'L' or x == 'R': y = int(input[ptr]) ptr += 1 z = int(input[ptr]) ptr += 1 if x == 'R': groups_right.append((q, y, z)) else: groups_left.append((q, y, z)) else: y = int(input[ptr]) ptr += 1 z = int(input[ptr]) ptr += 1 total = 0 current_t = q # Process right-facing groups for s, y_pos, cnt in groups_right: delta = current_t - s if delta < 0: continue max_steps = (N - 1) - y_pos if delta <= max_steps: pos = y_pos + delta else: delta -= max_steps delta -= 1 # Reverse direction to left if delta < 0: pos = N - 1 else: full_cycles = delta // cycle rem = delta % cycle if full_cycles % 2 == 0: pos = (N - 1) - rem else: pos = rem if y <= pos < z: total += cnt # Process left-facing groups for s, y_pos, cnt in groups_left: delta = current_t - s if delta < 0: continue max_steps = y_pos if delta <= max_steps: pos = y_pos - delta else: delta -= max_steps delta -= 1 # Reverse direction to right if delta < 0: pos = 0 else: full_cycles = delta // cycle rem = delta % cycle if full_cycles % 2 == 0: pos = rem else: pos = (N - 1) - rem if y <= pos < z: total += cnt print(total) if __name__ == "__main__": main()