retrocedendo n escadas no máximo k passos em um único salto

Você precisa subir uma escada que tem n degraus e decide fazer algum exercício extra pulando os degraus. Você pode cobrir no máximo k etapas em um único salto. Devolva todas as sequências possíveis de saltos que você poderia fazer para subir a escada, classificadas.

Minha implementação está obviamente me dando a resposta errada.

def climbingStaircase(n, k):
    final_res=[]
    final_res.append(CSR(n,k,[]))
    return final_res

def CSR(n,k,res):
    if n == 0:
        return res        
    else:
        for i in range(1,k+1):
            if n-i>=0:
                res.append(i)
                n=n-i
                res=CSR(n,i,res)
        return res

Para n = 4 e k = 2, a saída deve ser

[[1, 1, 1, 1],
 [1, 1, 2],
 [1, 2, 1],
 [2, 1, 1],
 [2, 2]]

Saída real:

[[1,1,1,1,2,1]]

Alguém pode apontar qual parte estou faltando?

questionAnswers(2)

yourAnswerToTheQuestion