Given an array of distinct integers candidates and a target , return all unique combinations of candidates that sum to target . Each candidate may be reused any number of times. Return combinations in any order; keep each combination ascending. Input format Input is [candidates, target] , e.g. [[2,3,6,7],7] .