#abc302e. [abc302_e]Isolation

[abc302_e]Isolation

题目描述

有一个无向图,其中有 NN 个编号为 11NN 的顶点,初始时没有边。
给定 QQ 个查询,按顺序处理它们。在处理每个查询之后,输出未与任何其他顶点通过边相连的顶点数。

ii 个查询 mathrmqueryi\\mathrm{query}_i 有以下两种类型之一。

  • 1 u v:连接顶点 uu 和顶点 vv。保证在给出此查询时,顶点 uu 和顶点 vv 之间没有边相连。

  • 2 v:移除连接顶点 vv 和其他顶点的所有边。(顶点 vv 本身不被移除。)

约束条件

  • 2N3×1052 \leq N \leq 3 \times 10^5
  • 1Q3×1051 \leq Q \leq 3 \times 10^5
  • 对于第一种查询的每个查询,1u,vN1 \leq u, v \leq Nuvu \neq v
  • 对于第二种查询的每个查询,1vN1 \leq v \leq N
  • 在给出第一种查询之前,顶点 uu 和顶点 vv 之间没有边。
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入中给出:

NN QQ query1\mathrm{query}_1 query2\mathrm{query}_2 \vdots queryQ\mathrm{query}_Q

输出

输出 QQ 行。
ii(1iQ)(1 \leq i \leq Q) 应包含未与任何其他顶点通过边相连的顶点数。


示例输入 1

3 7
1 1 2
1 1 3
1 2 3
2 1
1 1 2
2 2
1 1 2

示例输出 1

1
0
0
1
0
3
1

第一次查询后,顶点 11 和顶点 22 通过一条边相连,而顶点 33 未与任何其他顶点相连。
因此,应该在第一行输出 11

第三次查询后,所有不同顶点对之间都通过边相连。
然而,第四次查询要求移除连接顶点 11 和其他顶点的所有边,具体地说是移除顶点 11 和顶点 22 之间的边,以及顶点 11 和顶点 33 之间的边。结果,顶点 22 和顶点 33 相互相连,而顶点 11 未与任何其他顶点通过边相连。
因此,应在第三行和第四行分别输出 0011


示例输入 2

2 1
2 1

示例输出 2

2

当给出第二种类型的查询时,可能不存在连接该顶点和其他顶点的边。