// output of ./demo/comb/dyck-pref-demo.cc:
// Description:
//% k-ary Dyck words via prefix shifts.
//% Representation as delta set.
//% Algorithm "coolkat" as given (left in figure "Algorithms 1") in
//%   Stephane Durocher, Pak Ching Li, Debajyoti Mondal, Aaron Williams:
//%   "Ranking and Loopless Generation of k-ary Dyck Words in Cool-lex Order",

arg 1: 4 == n  [Number of ones in words (n>=1).]  default=4
arg 2: 3 == k  [k-ary Dyck words (k>=1, k==2 gives Catalan strings).]  default=3
   1:    1111........    { 0, 1, 2, 3 }    [ . 2 4 6 ]
   2:    1.111.......    { 0, 2, 3, 4 }    [ . 1 3 5 ]
   3:    11.11.......    { 0, 1, 3, 4 }    [ . 2 3 5 ]
   4:    111.1.......    { 0, 1, 2, 4 }    [ . 2 4 5 ]
   5:    1.11.1......    { 0, 2, 3, 5 }    [ . 1 3 4 ]
   6:    11.1.1......    { 0, 1, 3, 5 }    [ . 2 3 4 ]
   7:    1.1.11......    { 0, 2, 4, 5 }    [ . 1 2 4 ]
   8:    1..111......    { 0, 3, 4, 5 }    [ . . 2 4 ]
   9:    11..11......    { 0, 1, 4, 5 }    [ . 2 2 4 ]
  10:    111..1......    { 0, 1, 2, 5 }    [ . 2 4 4 ]
  11:    1.11..1.....    { 0, 2, 3, 6 }    [ . 1 3 3 ]
  12:    11.1..1.....    { 0, 1, 3, 6 }    [ . 2 3 3 ]
  13:    1.1.1.1.....    { 0, 2, 4, 6 }    [ . 1 2 3 ]
  14:    1..11.1.....    { 0, 3, 4, 6 }    [ . . 2 3 ]
  15:    11..1.1.....    { 0, 1, 4, 6 }    [ . 2 2 3 ]
  16:    1.1..11.....    { 0, 2, 5, 6 }    [ . 1 1 3 ]
  17:    1..1.11.....    { 0, 3, 5, 6 }    [ . . 1 3 ]
  18:    11...11.....    { 0, 1, 5, 6 }    [ . 2 1 3 ]
  19:    111...1.....    { 0, 1, 2, 6 }    [ . 2 4 3 ]
  20:    1.11...1....    { 0, 2, 3, 7 }    [ . 1 3 2 ]
  21:    11.1...1....    { 0, 1, 3, 7 }    [ . 2 3 2 ]
  22:    1.1.1..1....    { 0, 2, 4, 7 }    [ . 1 2 2 ]
  23:    1..11..1....    { 0, 3, 4, 7 }    [ . . 2 2 ]
  24:    11..1..1....    { 0, 1, 4, 7 }    [ . 2 2 2 ]
  25:    1.1..1.1....    { 0, 2, 5, 7 }    [ . 1 1 2 ]
  26:    1..1.1.1....    { 0, 3, 5, 7 }    [ . . 1 2 ]
  27:    11...1.1....    { 0, 1, 5, 7 }    [ . 2 1 2 ]
  28:    1.1...11....    { 0, 2, 6, 7 }    [ . 1 . 2 ]
  29:    1..1..11....    { 0, 3, 6, 7 }    [ . . . 2 ]
  30:    11....11....    { 0, 1, 6, 7 }    [ . 2 . 2 ]
  31:    111....1....    { 0, 1, 2, 7 }    [ . 2 4 2 ]
  32:    1.11....1...    { 0, 2, 3, 8 }    [ . 1 3 1 ]
  33:    11.1....1...    { 0, 1, 3, 8 }    [ . 2 3 1 ]
  34:    1.1.1...1...    { 0, 2, 4, 8 }    [ . 1 2 1 ]
  35:    1..11...1...    { 0, 3, 4, 8 }    [ . . 2 1 ]
  36:    11..1...1...    { 0, 1, 4, 8 }    [ . 2 2 1 ]
  37:    1.1..1..1...    { 0, 2, 5, 8 }    [ . 1 1 1 ]
  38:    1..1.1..1...    { 0, 3, 5, 8 }    [ . . 1 1 ]
  39:    11...1..1...    { 0, 1, 5, 8 }    [ . 2 1 1 ]
  40:    1.1...1.1...    { 0, 2, 6, 8 }    [ . 1 . 1 ]
  41:    1..1..1.1...    { 0, 3, 6, 8 }    [ . . . 1 ]
  42:    11....1.1...    { 0, 1, 6, 8 }    [ . 2 . 1 ]
  43:    111.....1...    { 0, 1, 2, 8 }    [ . 2 4 1 ]
  44:    1.11.....1..    { 0, 2, 3, 9 }    [ . 1 3 . ]
  45:    11.1.....1..    { 0, 1, 3, 9 }    [ . 2 3 . ]
  46:    1.1.1....1..    { 0, 2, 4, 9 }    [ . 1 2 . ]
  47:    1..11....1..    { 0, 3, 4, 9 }    [ . . 2 . ]
  48:    11..1....1..    { 0, 1, 4, 9 }    [ . 2 2 . ]
  49:    1.1..1...1..    { 0, 2, 5, 9 }    [ . 1 1 . ]
  50:    1..1.1...1..    { 0, 3, 5, 9 }    [ . . 1 . ]
  51:    11...1...1..    { 0, 1, 5, 9 }    [ . 2 1 . ]
  52:    1.1...1..1..    { 0, 2, 6, 9 }    [ . 1 . . ]
  53:    1..1..1..1..    { 0, 3, 6, 9 }    [ . . . . ]
  54:    11....1..1..    { 0, 1, 6, 9 }    [ . 2 . . ]
  55:    111......1..    { 0, 1, 2, 9 }    [ . 2 4 . ]
 ct=55
