// output of ./demo/comb/composition-nz-gray-rec-demo.cc:
// Description:
//% Compositions of n into positive parts.
//% Gray code with moves of only one unit, all moves are one-close or
//% two-close, two-close moves always cross a part =1 and all moves are
//% at the end, involving the last element.
//% Recursive algorithm.

arg 1: 7 == n  [compositions of n]  default=7
arg 2: 0 == bq  [whether to generate backward order]  default=0
forward:
   0:  [ 7 ]
   1:  [ 6 1 ]
   2:  [ 5 1 1 ]
   3:  [ 5 2 ]
   4:  [ 4 3 ]
   5:  [ 4 2 1 ]
   6:  [ 4 1 1 1 ]
   7:  [ 4 1 2 ]
   8:  [ 3 1 3 ]
   9:  [ 3 1 2 1 ]
  10:  [ 3 1 1 1 1 ]
  11:  [ 3 1 1 2 ]
  12:  [ 3 2 1 1 ]
  13:  [ 3 2 2 ]
  14:  [ 3 3 1 ]
  15:  [ 3 4 ]
  16:  [ 2 5 ]
  17:  [ 2 4 1 ]
  18:  [ 2 3 1 1 ]
  19:  [ 2 3 2 ]
  20:  [ 2 2 3 ]
  21:  [ 2 2 2 1 ]
  22:  [ 2 2 1 1 1 ]
  23:  [ 2 2 1 2 ]
  24:  [ 2 1 1 3 ]
  25:  [ 2 1 1 2 1 ]
  26:  [ 2 1 1 1 1 1 ]
  27:  [ 2 1 1 1 2 ]
  28:  [ 2 1 2 1 1 ]
  29:  [ 2 1 2 2 ]
  30:  [ 2 1 3 1 ]
  31:  [ 2 1 4 ]
  32:  [ 1 1 5 ]
  33:  [ 1 1 4 1 ]
  34:  [ 1 1 3 1 1 ]
  35:  [ 1 1 3 2 ]
  36:  [ 1 1 2 3 ]
  37:  [ 1 1 2 2 1 ]
  38:  [ 1 1 2 1 1 1 ]
  39:  [ 1 1 2 1 2 ]
  40:  [ 1 1 1 1 3 ]
  41:  [ 1 1 1 1 2 1 ]
  42:  [ 1 1 1 1 1 1 1 ]
  43:  [ 1 1 1 1 1 2 ]
  44:  [ 1 1 1 2 1 1 ]
  45:  [ 1 1 1 2 2 ]
  46:  [ 1 1 1 3 1 ]
  47:  [ 1 1 1 4 ]
  48:  [ 1 2 1 3 ]
  49:  [ 1 2 1 2 1 ]
  50:  [ 1 2 1 1 1 1 ]
  51:  [ 1 2 1 1 2 ]
  52:  [ 1 2 2 1 1 ]
  53:  [ 1 2 2 2 ]
  54:  [ 1 2 3 1 ]
  55:  [ 1 2 4 ]
  56:  [ 1 3 3 ]
  57:  [ 1 3 2 1 ]
  58:  [ 1 3 1 1 1 ]
  59:  [ 1 3 1 2 ]
  60:  [ 1 4 1 1 ]
  61:  [ 1 4 2 ]
  62:  [ 1 5 1 ]
  63:  [ 1 6 ]
