$_ = <>; ($n,$m) = split / /; @tree=(); @rank=(); for($i=1;$i<=$n;$i++){ $tree[$i] = $i; $rank[$i] = 0; } while($m--){ $_ = <>; @d = split / /; if($d[0] == 0){ $a = find($d[1]); $b = find($d[2]); if($rank[$a]>$rank[$b]){ $tree[$b] = $a; }else{ $tree[$a] = $b; if($rank[$a]==$rank[$b]){ $rank[$b]++; } } }else{ print find($d[1])==find($d[2]) ? "YES":"NO","\n"; } } sub find{$_=pop;$tree[$_]!=$_?$tree[$_]=find($tree[$_]):$_}