def divNat(n,m)
  ((n + 1)**(m - 1) * n).downto(0) {|i|
    w = sprintf("%0#{m}d",i.to_s(n + 1)).split(//).map {|j|j.to_i}
    p w if w.inject(0){|r,j|r += j} == n
  }
end

divNat(5,3)