def makesum(lst, asum, amin, amax):
    if (asum == 0):
        print(lst)
    else:
        for i in range(amin, min(asum, amax)+1):
            makesum(lst + [i], asum - i, amin, amax)

makesum([], 15, 3, 5)
