对于给定的编号为 的元素,初始时每个元素都在不同的集合中。你需要构造一个并查集()数据结构,使得其能支持: 合并操作:将编号为 和 的元素所属的集合合并,如果已经位于同一集合中,则忽略这个操作; 集合查询操作:判断编号为 和 的元素是否在同一个集合中; 集合信息查询:输出编号为 的元素所在的集合中包含的元素数量。
输入描述:
第一行输入两个整数 和 代表元素数量、操作次数。此后 行,每行先输入一个整数 代表操作编号,随后:若 ,在同一行输入两个整数 和 代表合并操作;若 ,在同一行输入两个整数 和 代表集合查询操作;若 ,在同一行输入一个整数 代表集合信息查询操作。


输出描述:
对于每一次 的集合查询操作,如果编号为  和  的元素位于同一个集合,在一行上输出 ;否则,直接输出 ;对于每一次 的集合信息查询操作,在一行上输出一个整数代表编号为  的元素所在的集合中包含的元素数量。
示例1

输入

5 7
1 1 2
1 3 4
2 1 3
3 1
1 2 3
3 2
2 2 4

输出

NO
2
4
YES
加载中...