add disjoint_set template