思路:hash表 + 模拟。直接根据题意进行模拟即可,当对手加入牌的时候,就把加入到hash表中,注意需要判断下牌的范围是否在之间;同理,当对手拿走牌的时候,就分别把从hash表中减去一次,也是需要判断下牌的范围是否在之间,如果牌减完了就直接从hash表中删掉。最终,hash表的长度就是每一次操作后的答案,添加到out数组中,然后整体输出即可

代码:

import sys
from collections import defaultdict

input = lambda: sys.stdin.readline().strip()

import math
inf = 10 ** 18

def I():
    return input()

def II():
    return int(input())

def MII():
    return map(int, input().split())

def LI():
    return input().split()

def LII():
    return list(map(int, input().split()))

def LFI():
    return list(map(float, input().split()))

fmax = lambda x, y: x if x > y else y
fmin = lambda x, y: x if x < y else y
isqrt = lambda x: int(math.sqrt(x))

'''

'''

def solve():
    m, q = MII()

    out = []
    d = defaultdict(int)
    for _ in range(q):
        op, x = MII()
        if op == 1:
            if x - 3 >= 1:
                d[x - 3] += 1
            if x + 3 <= m:
                d[x + 3] += 1
        else:
            if x - 3 >= 1:
                d[x - 3] -= 1
                if d[x - 3] == 0:
                    del d[x - 3]
            if x + 3 <= m:
                d[x + 3] -= 1
                if d[x + 3] == 0:
                    del d[x + 3]
        out.append(str(len(d)))
    print('\n'.join(out))

t = 1
# t = II()
for _ in range(t):
    solve()