class Solution:
def combinationSum3(self, k: int, n: int) -> List[List[int]]:
ans = []
def backtrack(curr, target, start):
if target == 0:
if len(curr) == k:
ans.append(list(curr))
return
if target < 0:
return
else:
for i in range(start, 10):
curr.append(i)
backtrack(curr, target - i, i + 1)
curr.pop()
backtrack([], n, 1)
return ans