def main(n, m):
all_path = []
path =[]
def dfs(res, n):
if n<=0 or res <= 0:
return
if res == n:
path.append(n)
print(path, res, n)
all_path.append(list(path))
path.pop()
path.append(n)
dfs(res-n, n-1)
path.pop()
dfs(res, n-1)
return
dfs(m, n)
return all_path
print(main(4,5))