def partition(cap, lim):
if cap <= lim:
yield (cap,)
for head in range(min(cap - 1, lim), 0, -1):
for tail in partition(cap - head, head):
yield (head,) + tail
for p in partition(5, 5):
print('+'.join(map(str, p)))