编程题
### 问题描述
并查集是解决不相交集合并问题的一种数据结构,简称为 `dsu`(disjoint set union)。
有 $n$ 个集合,编号为 $1\sim n$,第 $i$ 个集合里有且只有一个数字 $i$。
现在有 $m$ 次操作,每次操作有以下两种情况:
- `M a b`:将数字 $a$ 与数字 $b$ 所在的集合合并。
- `Q a b`:查询数字 $a$ 与数字 $b$ 是否在一个集合中。
### 输入格式
第一行输入两个正整数 $n,m$。$(1\le n,m\le 10^5)$
接下来 $m$ 行,每行输入一组操作。$(1\le a,b\le n)$
### 输出格式
对于每组查询操作,若 $a,b$ 在同一集合,则输出 `Yes`,否则输出 `No`。
### 样例输入
```text
4 7
M 1 2
M 3 4
Q 1 2
Q 1 3
Q 3 4
M 4 2
Q 1 3
```
### 样例输出
```text
Yes
No
Yes
Yes
```
###