def divNat(n, m, acc = [])
  if m == 1
    p acc << n
    return
  end
  n.downto(0) {|i|
    w = acc[0..-1]
    divNat(n-i,m-1, w << i)
  }
end

divNat(5,3)