Please solve the programming task below using a self-contained code snippet in a markdown code block.

Find all valid combinations of k numbers that sum up to n such that the following conditions are true:

Only numbers 1 through 9 are used.
Each number is used at most once.

Return a list of all possible valid combinations. The list must not contain the same combination twice, and the combinations may be returned in any order.
 
Please complete the following python code precisely:
```python
class Solution:
    def combinationSum3(self, k: int, n: int) -> List[List[int]]:
```