#52. 连通块中点的数量

连通块中点的数量

问题描述

给定一个初始包含 nn 个点,00 条边的图。第 ii 个点的编号为 ii(1in)(1\le i\le n)

现在要进行 mm 次操作,操作共三种:

  • C a b:在点 aa 与点 bb 之间连一条边,a,ba,b 可能相等。
  • Q1 a b:询问点 aa 与点 bb 是否在一个连通块中,a,ba,b 可能相等。
  • Q2 a:询问点 aa 所在连通块中点的数量。

输入格式

第一行输入两个正整数 n,mn,m(1n,m105)(1\le n,m\le 10^5)

接下来 mm 行,每行输入包含一种操作。(1a,bn)(1\le a,b\le n)

输出格式

对于查询 Q1 a b:若 a,ba,b 在一个连通块中,输出 Yes,否则输出 No

对于查询 Q2 a:输出点 aa 所在连通块中点的数量。

样例输入

5 7
C 1 2
Q1 1 2
Q2 1
C 2 5
Q2 5
Q1 1 1
Q1 2 3

样例输出

Yes
2
3
Yes
No