#abc278c. [abc278_c]FF

[abc278_c]FF

问题描述

Takahashi运营着一个名为"Twidai"的社交网络,有 NN 个用户,从用户 11 到用户 NN。在Twidai中,用户可以关注或取消关注其他用户。

自Twidai启动以来,已经执行了 QQ 次操作。第 ii 次(1iQ1 \leq i \leq Q)操作由三个整数 TiT_iAiA_iBiB_i 表示,其含义如下:

  • 如果 Ti=1T_i = 1:表示用户 AiA_i 关注用户 BiB_i。如果在此次操作时,用户 AiA_i 已经关注用户 BiB_i,则无需进行任何更改。
  • 如果 Ti=2T_i = 2:表示用户 AiA_i 取消关注用户 BiB_i。如果在此次操作时,用户 AiA_i 没有关注用户 BiB_i,则无需进行任何更改。
  • 如果 Ti=3T_i = 3:表示你被要求判断用户 AiA_i 和用户 BiB_i 是否互相关注。如果用户 AiA_i 正在关注用户 BiB_i,且用户 BiB_i 正在关注用户 AiA_i,则需要打印 Yes,否则打印 No

当该服务启动时,没有用户关注任何其他用户。

按照 ii 升序打印所有 Ti=3T_i = 3 的操作的正确答案。

约束条件

  • 2N1092 \leq N \leq 10 ^ 9
  • 1Q2×1051 \leq Q \leq 2\times10 ^ 5
  • Ti=1,2,3 (1iQ)T _ i=1,2,3\ (1\leq i\leq Q)
  • 1AiN (1iQ)1 \leq A _ i \leq N\ (1\leq i\leq Q)
  • 1BiN (1iQ)1 \leq B _ i \leq N\ (1\leq i\leq Q)
  • AiBi (1iQ)A _ i\neq B _ i\ (1\leq i\leq Q)
  • 存在 i (1iQ)i\ (1\leq i\leq Q),使得 Ti=3T _ i=3
  • 输入中的所有值都是整数。

输入

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

NN QQ T1T _ 1 A1A _ 1 B1B _ 1 T2T _ 2 A2A _ 2 B2B _ 2 \vdots TQT _ Q AQA _ Q BQB _ Q

输出

输出 XX 行,XX 是满足 Ti=3T _ i=3ii 的数量(1iQ)(1\leq i\leq Q)。第 jj 行(1jX1\leq j\leq X)应包含满足 Ti=3T _ i=3 的第 jj 次操作的答案。


示例输入 1

3 9
1 1 2
3 1 2
1 2 1
3 1 2
1 2 3
1 3 2
3 1 3
2 1 2
3 1 2

示例输出 1

No
Yes
No
No

Twidai有三个用户。九个操作如下所示。

  • 用户 11 关注了用户 22。没有其他用户关注或被任何用户关注。
  • 判断用户 11 和用户 22 是否互相关注。用户 11 正在关注用户 22,但用户 22 没有关注用户 11,因此 No 是此次操作的正确答案。
  • 用户 22 关注了用户 11
  • 判断用户 11 和用户 22 是否互相关注。用户 11 正在关注用户 22,且用户 22 正在关注用户 11,因此 Yes 是此次操作的正确答案。
  • 用户 22 关注了用户 33
  • 用户 33 关注了用户 22
  • 判断用户 11 和用户 33 是否互相关注。用户 11 没有关注用户 33,且用户 33 没有关注用户 11,因此 No 是此次操作的正确答案。
  • 用户 11 取消关注了用户 22
  • 判断用户 11 和用户 22 是否互相关注。用户 22 正在关注用户 11,但用户 11 没有关注用户 22,因此 No 是此次操作的正确答案。

示例输入 2

2 8
1 1 2
1 2 1
3 1 2
1 1 2
1 1 2
1 1 2
2 1 2
3 1 2

示例输出 2

Yes
No

一个用户可以多次关注同一个用户。


示例输入 3

10 30
3 1 6
3 5 4
1 6 1
3 1 7
3 8 4
1 1 6
2 4 3
1 6 5
1 5 6
1 1 8
1 8 1
2 3 10
1 7 6
3 5 6
1 6 7
3 6 7
1 9 5
3 8 6
3 3 8
2 6 9
1 7 1
3 10 8
2 9 2
1 10 9
2 6 10
2 6 8
3 1 6
3 1 8
2 8 5
1 9 10

示例输出 3

No
No
No
No
Yes
Yes
No
No
No
Yes
Yes