#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行,每行两个正整数opx,分别表示事件的类别和对应的<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