// output of ./demo/comb/mset-subset-lex-demo.cc:
// Description:
//% Subsets of a multiset in lexicographic order with respect to subsets,
//% generated as (multi-)delta sets (that is, mixed radix numbers).
//% See Joerg Arndt, Subset-lex: did we miss an order?, (2014)
//%   http://arxiv.org/abs/1405.6503

arg 1: 3 == n  [Number of types of elements in multiset]  default=3
arg 2: 3 == rr  [Multiplicity of elements in multiset: (0==>[1,2,3,...,n])]  default=3
args 3,4,... : [Optionally supply multiplicity for all types (rr ignored)]

    0:    [ . . . ]    {  }
    1:    [ 1 . . ]    { 0 }
    2:    [ 2 . . ]    { 0, 0 }
    3:    [ 3 . . ]    { 0, 0, 0 }
    4:    [ 3 1 . ]    { 0, 0, 0, 1 }
    5:    [ 3 2 . ]    { 0, 0, 0, 1, 1 }
    6:    [ 3 3 . ]    { 0, 0, 0, 1, 1, 1 }
    7:    [ 3 3 1 ]    { 0, 0, 0, 1, 1, 1, 2 }
    8:    [ 3 3 2 ]    { 0, 0, 0, 1, 1, 1, 2, 2 }
    9:    [ 3 3 3 ]    { 0, 0, 0, 1, 1, 1, 2, 2, 2 }
   10:    [ 3 2 1 ]    { 0, 0, 0, 1, 1, 2 }
   11:    [ 3 2 2 ]    { 0, 0, 0, 1, 1, 2, 2 }
   12:    [ 3 2 3 ]    { 0, 0, 0, 1, 1, 2, 2, 2 }
   13:    [ 3 1 1 ]    { 0, 0, 0, 1, 2 }
   14:    [ 3 1 2 ]    { 0, 0, 0, 1, 2, 2 }
   15:    [ 3 1 3 ]    { 0, 0, 0, 1, 2, 2, 2 }
   16:    [ 3 . 1 ]    { 0, 0, 0, 2 }
   17:    [ 3 . 2 ]    { 0, 0, 0, 2, 2 }
   18:    [ 3 . 3 ]    { 0, 0, 0, 2, 2, 2 }
   19:    [ 2 1 . ]    { 0, 0, 1 }
   20:    [ 2 2 . ]    { 0, 0, 1, 1 }
   21:    [ 2 3 . ]    { 0, 0, 1, 1, 1 }
   22:    [ 2 3 1 ]    { 0, 0, 1, 1, 1, 2 }
   23:    [ 2 3 2 ]    { 0, 0, 1, 1, 1, 2, 2 }
   24:    [ 2 3 3 ]    { 0, 0, 1, 1, 1, 2, 2, 2 }
   25:    [ 2 2 1 ]    { 0, 0, 1, 1, 2 }
   26:    [ 2 2 2 ]    { 0, 0, 1, 1, 2, 2 }
   27:    [ 2 2 3 ]    { 0, 0, 1, 1, 2, 2, 2 }
   28:    [ 2 1 1 ]    { 0, 0, 1, 2 }
   29:    [ 2 1 2 ]    { 0, 0, 1, 2, 2 }
   30:    [ 2 1 3 ]    { 0, 0, 1, 2, 2, 2 }
   31:    [ 2 . 1 ]    { 0, 0, 2 }
   32:    [ 2 . 2 ]    { 0, 0, 2, 2 }
   33:    [ 2 . 3 ]    { 0, 0, 2, 2, 2 }
   34:    [ 1 1 . ]    { 0, 1 }
   35:    [ 1 2 . ]    { 0, 1, 1 }
   36:    [ 1 3 . ]    { 0, 1, 1, 1 }
   37:    [ 1 3 1 ]    { 0, 1, 1, 1, 2 }
   38:    [ 1 3 2 ]    { 0, 1, 1, 1, 2, 2 }
   39:    [ 1 3 3 ]    { 0, 1, 1, 1, 2, 2, 2 }
   40:    [ 1 2 1 ]    { 0, 1, 1, 2 }
   41:    [ 1 2 2 ]    { 0, 1, 1, 2, 2 }
   42:    [ 1 2 3 ]    { 0, 1, 1, 2, 2, 2 }
   43:    [ 1 1 1 ]    { 0, 1, 2 }
   44:    [ 1 1 2 ]    { 0, 1, 2, 2 }
   45:    [ 1 1 3 ]    { 0, 1, 2, 2, 2 }
   46:    [ 1 . 1 ]    { 0, 2 }
   47:    [ 1 . 2 ]    { 0, 2, 2 }
   48:    [ 1 . 3 ]    { 0, 2, 2, 2 }
   49:    [ . 1 . ]    { 1 }
   50:    [ . 2 . ]    { 1, 1 }
   51:    [ . 3 . ]    { 1, 1, 1 }
   52:    [ . 3 1 ]    { 1, 1, 1, 2 }
   53:    [ . 3 2 ]    { 1, 1, 1, 2, 2 }
   54:    [ . 3 3 ]    { 1, 1, 1, 2, 2, 2 }
   55:    [ . 2 1 ]    { 1, 1, 2 }
   56:    [ . 2 2 ]    { 1, 1, 2, 2 }
   57:    [ . 2 3 ]    { 1, 1, 2, 2, 2 }
   58:    [ . 1 1 ]    { 1, 2 }
   59:    [ . 1 2 ]    { 1, 2, 2 }
   60:    [ . 1 3 ]    { 1, 2, 2, 2 }
   61:    [ . . 1 ]    { 2 }
   62:    [ . . 2 ]    { 2, 2 }
   63:    [ . . 3 ]    { 2, 2, 2 }
 ct=64
