#867. 👨‍👩‍👧‍👦 A3《家族人口统计》📌

👨‍👩‍👧‍👦 A3《家族人口统计》📌

👨‍👩‍👧‍👦 A3《家族人口统计》📌

兔猫信奥学院,加菲老师又拿来一张更大的“亲戚关系网”。 小兔发现:家族一旦变得很庞大,想手算某个人“到底有多少亲戚”几乎不可能。

现在我们用编号 1..n1..n 表示 nn 个人,并且会按顺序收到 mm 条信息,包含两种指令:

  • M a b:表示 a 和 b 是亲戚(因此他们所在的两个家族会合并成一个更大的家族)
  • Q a:询问 a 所在家族的人数(也就是和 a 互为亲戚的人一共有多少个,包含 a 自己)

亲戚关系满足传递性:

  • xxyy 是亲戚,yyzz 是亲戚,则 xxzz 也是亲戚
  • xxyy 是亲戚,则 x 的所有亲戚 也是 y 的所有亲戚(两个家族等价合并)

请你按输入顺序处理每条信息,并对每个询问输出答案。


输入格式

第一行两个整数 n,mn, m

  • nn:人数(1n1000001 \le n \le 100000
  • mm:信息条数(1m2000001 \le m \le 200000

接下来 mm 行,每行是一条信息:

  • M a b:表示 aabb 是亲戚
  • Q a:询问 aa 所在家族的人数

输出格式

对于每一条 Q a,输出一行一个整数:aa 所在家族的人数。


5 10
M 3 2
Q 4
M 1 2
Q 4
M 3 2
Q 1
M 3 1
Q 5
M 4 2
Q 4
1
1
3
1
4

数据范围

  • 1n1000001 \le n \le 100000
  • 1m2000001 \le m \le 200000

(提示:合并与查询都很多,需要支持快速维护“家族大小”。)