// output of ./demo/comb/mset-perm-gray-demo.cc:
// Description:
//% All multiset permutations in minimal-change order (Fred Lunnon's Gray code).
//% Same as: all strings with fixed content.

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