// output of ./demo/comb/catalan-rgs-demo.cc:
// Description:
//% Catalan restricted growth strings (RGS):
//% strings a[0,1,...,n-1] where a[0]=0 and a[k] <= a[k-1] + 1.
//% Lexicographic order.
//% See OEIS sequences A000108 (Catalan numbers) and A239903 (Catalan RGS).

arg 1: 5 == n  [Number of paren pairs]  default=5
arg 2: 1 == rq  [whether to show RGS for reversed string]  default=1
   1:  [ . . . . . ]   0    ()()()()()    1.1.1.1.1.        [ . . . . . ]    1.1.1.1.1.
   2:  [ . . . . 1 ]   4    ()()()(())    1.1.1.11..        [ . 1 . . . ]    11..1.1.1.
   3:  [ . . . 1 . ]   3    ()()(())()    1.1.11..1.        [ . . 1 . . ]    1.11..1.1.
   4:  [ . . . 1 1 ]   4    ()()(()())    1.1.11.1..        [ . 1 1 . . ]    11.1..1.1.
   5:  [ . . . 1 2 ]   4    ()()((()))    1.1.111...        [ . 1 2 . . ]    111...1.1.
   6:  [ . . 1 . . ]   2    ()(())()()    1.11..1.1.        [ . . . 1 . ]    1.1.11..1.
   7:  [ . . 1 . 1 ]   4    ()(())(())    1.11..11..        [ . 1 . 1 . ]    11..11..1.
   8:  [ . . 1 1 . ]   3    ()(()())()    1.11.1..1.        [ . . 1 1 . ]    1.11.1..1.
   9:  [ . . 1 1 1 ]   4    ()(()()())    1.11.1.1..        [ . 1 1 1 . ]    11.1.1..1.
  10:  [ . . 1 1 2 ]   4    ()(()(()))    1.11.11...        [ . 1 2 1 . ]    111..1..1.
  11:  [ . . 1 2 . ]   3    ()((()))()    1.111...1.        [ . . 1 2 . ]    1.111...1.
  12:  [ . . 1 2 1 ]   4    ()((())())    1.111..1..        [ . 1 1 2 . ]    11.11...1.
  13:  [ . . 1 2 2 ]   4    ()((()()))    1.111.1...        [ . 1 2 2 . ]    111.1...1.
  14:  [ . . 1 2 3 ]   4    ()(((())))    1.1111....        [ . 1 2 3 . ]    1111....1.
  15:  [ . 1 . . . ]   1    (())()()()    11..1.1.1.        [ . . . . 1 ]    1.1.1.11..
  16:  [ . 1 . . 1 ]   4    (())()(())    11..1.11..        [ . 1 . . 1 ]    11..1.11..
  17:  [ . 1 . 1 . ]   3    (())(())()    11..11..1.        [ . . 1 . 1 ]    1.11..11..
  18:  [ . 1 . 1 1 ]   4    (())(()())    11..11.1..        [ . 1 1 . 1 ]    11.1..11..
  19:  [ . 1 . 1 2 ]   4    (())((()))    11..111...        [ . 1 2 . 1 ]    111...11..
  20:  [ . 1 1 . . ]   2    (()())()()    11.1..1.1.        [ . . . 1 1 ]    1.1.11.1..
  21:  [ . 1 1 . 1 ]   4    (()())(())    11.1..11..        [ . 1 . 1 1 ]    11..11.1..
  22:  [ . 1 1 1 . ]   3    (()()())()    11.1.1..1.        [ . . 1 1 1 ]    1.11.1.1..
  23:  [ . 1 1 1 1 ]   4    (()()()())    11.1.1.1..        [ . 1 1 1 1 ]    11.1.1.1..
  24:  [ . 1 1 1 2 ]   4    (()()(()))    11.1.11...        [ . 1 2 1 1 ]    111..1.1..
  25:  [ . 1 1 2 . ]   3    (()(()))()    11.11...1.        [ . . 1 2 1 ]    1.111..1..
  26:  [ . 1 1 2 1 ]   4    (()(())())    11.11..1..        [ . 1 1 2 1 ]    11.11..1..
  27:  [ . 1 1 2 2 ]   4    (()(()()))    11.11.1...        [ . 1 2 2 1 ]    111.1..1..
  28:  [ . 1 1 2 3 ]   4    (()((())))    11.111....        [ . 1 2 3 1 ]    1111...1..
  29:  [ . 1 2 . . ]   2    ((()))()()    111...1.1.        [ . . . 1 2 ]    1.1.111...
  30:  [ . 1 2 . 1 ]   4    ((()))(())    111...11..        [ . 1 . 1 2 ]    11..111...
  31:  [ . 1 2 1 . ]   3    ((())())()    111..1..1.        [ . . 1 1 2 ]    1.11.11...
  32:  [ . 1 2 1 1 ]   4    ((())()())    111..1.1..        [ . 1 1 1 2 ]    11.1.11...
  33:  [ . 1 2 1 2 ]   4    ((())(()))    111..11...        [ . 1 2 1 2 ]    111..11...
  34:  [ . 1 2 2 . ]   3    ((()()))()    111.1...1.        [ . . 1 2 2 ]    1.111.1...
  35:  [ . 1 2 2 1 ]   4    ((()())())    111.1..1..        [ . 1 1 2 2 ]    11.11.1...
  36:  [ . 1 2 2 2 ]   4    ((()()()))    111.1.1...        [ . 1 2 2 2 ]    111.1.1...
  37:  [ . 1 2 2 3 ]   4    ((()(())))    111.11....        [ . 1 2 3 2 ]    1111..1...
  38:  [ . 1 2 3 . ]   3    (((())))()    1111....1.        [ . . 1 2 3 ]    1.1111....
  39:  [ . 1 2 3 1 ]   4    (((()))())    1111...1..        [ . 1 1 2 3 ]    11.111....
  40:  [ . 1 2 3 2 ]   4    (((())()))    1111..1...        [ . 1 2 2 3 ]    111.11....
  41:  [ . 1 2 3 3 ]   4    (((()())))    1111.1....        [ . 1 2 3 3 ]    1111.1....
  42:  [ . 1 2 3 4 ]   4    ((((()))))    11111.....        [ . 1 2 3 4 ]    11111.....
 ct=42
