class Solution {
public:
vector<vector<int>> combinationSum3(int k, int n) {
vector<vector<int>> res;
vector<int> out;
helper(k, n, 1, out, res);
return res;
}
void helper(int k, int n, int pos, vector<int>& out, vector<vector<int>>& res){
if(k==0 && n==0) res.push_back(out);
else if(k<0 || n<0) return;
else{
for(int i=pos;i<10;i++){
out.push_back(i);
helper(k-1, n-i, i+1, out, res);
out.pop_back();
}
}
}
};