Given an array of distinct positive integers `candidates` and a `target`, return all unique combinations where the chosen numbers sum to target. Each candidate may be used unlimited times. Return each combination sorted ascending and the list of combinations sorted, for a deterministic result.