import functools
@functools.lru_cache(328)
def digsum(summ, leng, mindig=1):
if (leng == 1):
return 1 if (10 > summ >= 0) else 0
return sum([digsum(summ - i, leng - 1, 0) for i in range(mindig, min(10, summ + 1))])
print(digsum(61, 10))
aW1wb3J0IGZ1bmN0b29scwoKQGZ1bmN0b29scy5scnVfY2FjaGUoMzI4KQpkZWYgZGlnc3VtKHN1bW0sIGxlbmcsIG1pbmRpZz0xKToKICAgIGlmIChsZW5nID09IDEpOgogICAgICAgIHJldHVybiAxIGlmICgxMCA+IHN1bW0gPj0gMCkgZWxzZSAwCiAgICByZXR1cm4gc3VtKFtkaWdzdW0oc3VtbSAtIGksIGxlbmcgLSAxLCAwKSBmb3IgaSBpbiByYW5nZShtaW5kaWcsIG1pbigxMCwgc3VtbSArIDEpKV0pCgpwcmludChkaWdzdW0oNjEsIDEwKSk=