城镇
题号:NC229865
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在K城中一共有n个城镇,编号从1到n,这n个城镇开始均不相连,为了改善交通,政府决定在城镇之间修建道路。
一共有m个操作:
M a b,将编号为a和b的城镇之间修一条路,如果两个城镇之间已经有修好了一条路请忽略这条操作。
Q a b, 查询城镇a此时能不能到达城镇b(城镇a如果可以通过其它城镇间接到达城镇b,说明城镇a和城镇b是可达的),如果城镇a不能到达城镇b请输出“No”,如果城镇a能到达城镇b请输出“Yes”。

输入描述:

第一行一个整数。( n 
接下来行,每行包含一个字符和两个正整数

输出描述:

对于每一个查询,在一行中输出“”或“”。(忽略双引号)
示例1

输入

复制
4 3
Q 1 2
M 1 2
Q 1 2

输出

复制
No
Yes
示例2

输入

复制
4 5
M 2 3
Q 3 4
M 1 3
M 3 4
Q 1 4

输出

复制
No
Yes