func mfact(s, n) { n > 0 ? (n * mfact(s, n-s)) : 1 } { |s| say "step=#{s}: #{{|n| mfact(s, n)}.map(1..10).join(' ')}" } << 1..10