improve find all combinations num