return as many disjoint paths as we can, if fully_disjoint