Since we can map such sequence $$0\leq a_1\leq a_2\leq a_3 \leq \cdots \leq a_{n-1}\leq a_n < m $$ to $$0 < b1=a_1+1 < b2=a_2+2 < b3=a_3+3 <\cdots < b_n=a_n+n < m+n $$ and $\{b_1,b_2,\cdots b_n\}$ is the `n` subsets of `Range[m+n-1]` And we can get $\{a_1,a_2,\cdots a_n\}$ from $\{b_1,b_2,\cdots b_n\}-\{1,2,\cdots,n\}$ ``` m = 8; n = 5; list = Subsets[Range[m+n-1], {n}] Subtract[#, Range[n]] & /@ list ```