require('strict')localp={}functionp.main(frame)localn=tonumber(frame.args.n)assert(n,'You must provide a number for n')assert(n==math.floor(n),'n must be an integer')localbase=tonumber(frame.args.baseor10)assert(base==math.floor(base),'base must be an integer')localdigits,counts,outputs={},{},{}fork,vinipairs(frame.args)dodigits[k]=vcounts[k]=n%basen=(n-counts[k])/baseendcounts[#counts]=counts[#counts]+n*baselocaltail=#digits+1fork,vinipairs(digits)dooutputs[k]=v:rep(counts[tail-k])endreturntable.concat(outputs)endreturnp