private List<Integer> combinationSum3Helper(List<List<Integer>> lists, List<Integer> list, int k, int n) {
        if (list.size() == k) {
            if (sumList(list) == n) {
                lists.add(list);
                return new LinkedList<>(list);
            } else
                return list;
        }
        int i = 1;
        if (list.size() != 0) {
            i = list.get(list.size() - 1) + 1;
        }
        for (; i <= 9; ++i) {
            list.add(i);
            list = combinationSum3Helper(lists, list, k, n);
            if (list.size() == k && sumList(list) >= n) {
                list.remove(list.size() - 1);
                break;
            }
            list.remove(list.size() - 1);
        }
        return list;
    }