Given an array of distinct integers `candidates` and a target integer `target`, return all unique combinations where candidates sum to target. You may use the same number an unlimited number of times.
candidates = [2,3,6,7], target = 7[[2,2,3],[7]]candidates = [2,3,5], target = 8[[2,2,2,2],[2,3,3],[3,5]]