编程题
科学家的梦想
### 题目描述
经过蓝桥科学家不懈的努力,蓝桥王国终于成功研发出了世界上首台时光机。而小明作为蓝桥王国首席科学家,他第一个拿到了时光机的使用权。
已知蓝桥王国一共有 $N$ 个公民,他们的编号分别为 $1\sim N$,起初每个公民都没有朋友。
小明的梦想是让蓝桥王国的所有公民都能互相成为好朋友,于是他还偷偷发明出了友情之箭和友情探测器。友情之箭除了能让射中的两个人成为好朋友外,还能让他们彼此的朋友圈融合(即朋友的朋友也将成为自己的朋友);友情探测器可以检测此刻任意两个公民是否为朋友。
为了实现梦想,小明提出了 $M$ 个计划,计划有以下三种类型:
+ `1 x y`,用友情之箭射中公民 $x$ 和公民 $y$。
+ `2 x y`,用友情探测器检测公民 $x$ 和公民 $y$ 是否是朋友。
+ `3 z`,乘坐时光机回到第 $z$ 个计划执行完成的时刻。
不幸的是年迈的小明已经无法承受住穿越时空带来的冲击力,所以他只能将梦想寄托于你身上,请你帮帮他!
### 输入描述
输入第 $1$ 行包含两个正整数 $N,M$,分别表示蓝桥王国的公民数和小明的计划个数。
第 $2\sim M+1$ 行每行表示一个计划,输入格式如题所述。
$1\leq N,M \leq 10^5$,$1\leq x,y \leq N$,保证输入合法。
第 $1$ 行包含两个正整数 $N,M$,分别表示大臣的数量和口供的数量。
之后的第 $2 \sim M+1$ 行每行输入两个整数 $x , y$,表示口供的信息。
$1\leq N\leq10^5$,$1\leq M \leq 2\times10^5$,$1 \leq x,y\leq N$。
### 输出描述
对于每个类型为 $2$ 的计划,若检测双方是朋友,则输出 `Y`,否则输出 `N`。
### 输入输出样例
#### 示例 1
>输入
```txt
5 5
2 1 2
1 1 2
2 1 2
3 1
2 1 2
```
>输出
```txt
N
Y
N
```