naive union find
union by depth