#3015. 已读
已读
说明
现在手机上的应用程序是越来越多了,现在van手机里有n个应用,编号为1\sim n,这使得他每天都要处理一大堆消息。这天,他将他一天的处理消息过程按顺序写成了一个事件列表,想知道他究竟还剩多少消息没有读。具体来说,有三种事件:<o:p></o:p>
1x,表示第x个应用中有一条消息发送给van <o:p></o:p>
2x,表示van看完了第x个应用中所有消息(当然可能今天一条消息都没有) <o:p></o:p>
3x,表示van看完了所有消息中前x条消息(即前x个事件1的消息,保证至少出现过x个事件1) <o:p></o:p>
注意van可能会多次读同一条消息,请你告诉他每个事件发生后还有多少消息未读。 <o:p></o:p>
输入格式
第一行两个正整数n,m,分别表示应用的数量和事件列表的长度。 <o:p></o:p>
接下来m行,每行两个正整数op和x,分别表示事件的类别和对应的x <o:p></o:p>
输出格式
m行,每行一个整数,第i行表示第i个事件后van未读的消息数量。
样例
3 5
1 3
1 1
1 2
2 3
3 1
1
2
3
2
2
提示
对于40%的数据,n,m<= 5000<o:p></o:p>
对于100%的数据,n,m<=3*10^5