清点人数
题号:NC50430
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 64 M,其他语言128 M
64bit IO Format: %lld

题目描述

NK中学组织同学们去五云山寨参加社会实践活动,按惯例要乘坐火车去。由于NK中学的学生很多,在火车开之前必须清点好人数。
初始时,火车上没有学生。当同学们开始上火车时,年级主任从第一节车厢出发走到最后一节车厢,每节车厢随时都有可能有同学上下。年级主任走到第m节车厢时,他想知道前m节车厢上一共有多少学生,但是他没有调头往回走的习惯。也就是说每次当他提问时,m总会比前一次大。

输入描述:

第一行两个整数n,k,表示火车共有n节车厢以及k个事件。
接下来有k行,按时间先后给出k个事件,每行开头都有一个字母A,B或C。
如果字母为A,接下来是一个数m,表示年级主任现在在第m节车厢;
如果字母为B,接下来是两个数m,p,表示在第m节车厢有p名学生上车;
如果字母为C,接下来是两个数m,p,表示在第m节车厢有p名学生下车。
学生总人数不会超过

输出描述:

对于每个A,输出一行,一个整数,表示年级主任的问题的答案。
示例1

输入

复制
10 7
A 1
B 1 1
B 3 1
B 4 1
A 2
A 3
A 10

输出

复制
0
1
2
3

备注:

对于的数据,,至少有3000个A;
对于的数据,,至少有个A。