给定一个包含 N 个元素的集合,编号为 1 到 N。你需要处理 M 个操作,操作分为两种:
合并操作:将两个元素所在的集合合并。
查询操作:判断两个元素是否属于同一个集合。
第一行包含两个整数 N 和 M,表示元素个数和操作次数。
接下来的 M 行,每行包含三个整数 Z_i、X_i、Y_i:
当 Z_i = 1 时,执行合并操作,将 X_i 和 Y_i 所在的集合合并。
当 Z_i = 2 时,执行查询操作,判断 X_i 和 Y_i 是否属于同一个集合。
对于每个查询操作,输出一行结果:
如果 X_i 和 Y_i 属于同一个集合,输出 Y。
否则,输出 N。
4 7 2 1 2 1 1 2 2 1 2 1 3 4 2 1 4 1 2 3 2 1 4
N Y N Y
对于 100% 的数据,保证 1 ≤ N,M ≤ 3e6 .