// output of ./demo/comb/perm-gray-rot1-demo.cc:
// Description:
//% Generate all permutations in minimal-change order such that
//% in the last permutations the first e elements are cyclically
//% rotated by one where e is the greatest even number <=n.

arg 1: 5 == n  [Permutations of n elements.]  default=5
   0:    [ . 1 2 3 4 ]  (0, 0)    [ . . . . ]   4   -1    [ . 1 2 3 4 ]
   1:    [ 1 . 2 3 4 ]  (0, 1)    [ 1 . . . ]   0   +1    [ 1 . 2 3 4 ]
   2:    [ 2 . 1 3 4 ]  (0, 2)    [ 1 1 . . ]   1   +1    [ 1 2 . 3 4 ]
   3:    [ . 2 1 3 4 ]  (0, 1)    [ . 1 . . ]   0   -1    [ . 2 1 3 4 ]
   4:    [ 1 2 . 3 4 ]  (0, 2)    [ . 2 . . ]   1   +1    [ 2 . 1 3 4 ]
   5:    [ 2 1 . 3 4 ]  (0, 1)    [ 1 2 . . ]   0   +1    [ 2 1 . 3 4 ]
   6:    [ 2 1 . 4 3 ]  (3, 4)    [ 1 2 1 . ]   2   +1    [ 2 1 . 4 3 ]
   7:    [ 1 2 . 4 3 ]  (0, 1)    [ . 2 1 . ]   0   -1    [ 2 . 1 4 3 ]
   8:    [ . 2 1 4 3 ]  (0, 2)    [ . 1 1 . ]   1   -1    [ . 2 1 4 3 ]
   9:    [ 2 . 1 4 3 ]  (0, 1)    [ 1 1 1 . ]   0   +1    [ 1 2 . 4 3 ]
  10:    [ 1 . 2 4 3 ]  (0, 2)    [ 1 . 1 . ]   1   -1    [ 1 . 2 4 3 ]
  11:    [ . 1 2 4 3 ]  (0, 1)    [ . . 1 . ]   0   -1    [ . 1 2 4 3 ]
  12:    [ . 1 3 4 2 ]  (2, 4)    [ . . 2 . ]   2   +1    [ . 1 4 2 3 ]
  13:    [ 1 . 3 4 2 ]  (0, 1)    [ 1 . 2 . ]   0   +1    [ 1 . 4 2 3 ]
  14:    [ 3 . 1 4 2 ]  (0, 2)    [ 1 1 2 . ]   1   +1    [ 1 2 4 . 3 ]
  15:    [ . 3 1 4 2 ]  (0, 1)    [ . 1 2 . ]   0   -1    [ . 2 4 1 3 ]
  16:    [ 1 3 . 4 2 ]  (0, 2)    [ . 2 2 . ]   1   +1    [ 2 . 4 1 3 ]
  17:    [ 3 1 . 4 2 ]  (0, 1)    [ 1 2 2 . ]   0   +1    [ 2 1 4 . 3 ]
  18:    [ 3 2 . 4 1 ]  (1, 4)    [ 1 2 3 . ]   2   +1    [ 2 4 1 . 3 ]
  19:    [ 2 3 . 4 1 ]  (0, 1)    [ . 2 3 . ]   0   -1    [ 2 4 . 1 3 ]
  20:    [ . 3 2 4 1 ]  (0, 2)    [ . 1 3 . ]   1   -1    [ . 4 2 1 3 ]
  21:    [ 3 . 2 4 1 ]  (0, 1)    [ 1 1 3 . ]   0   +1    [ 1 4 2 . 3 ]
  22:    [ 2 . 3 4 1 ]  (0, 2)    [ 1 . 3 . ]   1   -1    [ 1 4 . 2 3 ]
  23:    [ . 2 3 4 1 ]  (0, 1)    [ . . 3 . ]   0   -1    [ . 4 1 2 3 ]
  24:    [ 1 2 3 4 . ]  (0, 4)    [ . . 4 . ]   2   +1    [ 4 . 1 2 3 ]
  25:    [ 2 1 3 4 . ]  (0, 1)    [ 1 . 4 . ]   0   +1    [ 4 1 . 2 3 ]
  26:    [ 3 1 2 4 . ]  (0, 2)    [ 1 1 4 . ]   1   +1    [ 4 1 2 . 3 ]
  27:    [ 1 3 2 4 . ]  (0, 1)    [ . 1 4 . ]   0   -1    [ 4 . 2 1 3 ]
  28:    [ 2 3 1 4 . ]  (0, 2)    [ . 2 4 . ]   1   +1    [ 4 2 . 1 3 ]
  29:    [ 3 2 1 4 . ]  (0, 1)    [ 1 2 4 . ]   0   +1    [ 4 2 1 . 3 ]
  30:    [ 4 2 1 3 . ]  (0, 3)    [ 1 2 4 1 ]   3   +1    [ 4 2 1 3 . ]
  31:    [ 2 4 1 3 . ]  (0, 1)    [ . 2 4 1 ]   0   -1    [ 4 2 . 3 1 ]
  32:    [ 1 4 2 3 . ]  (0, 2)    [ . 1 4 1 ]   1   -1    [ 4 . 2 3 1 ]
  33:    [ 4 1 2 3 . ]  (0, 1)    [ 1 1 4 1 ]   0   +1    [ 4 1 2 3 . ]
  34:    [ 2 1 4 3 . ]  (0, 2)    [ 1 . 4 1 ]   1   -1    [ 4 1 . 3 2 ]
  35:    [ 1 2 4 3 . ]  (0, 1)    [ . . 4 1 ]   0   -1    [ 4 . 1 3 2 ]
  36:    [ . 2 4 3 1 ]  (0, 4)    [ . . 3 1 ]   2   -1    [ . 4 1 3 2 ]
  37:    [ 2 . 4 3 1 ]  (0, 1)    [ 1 . 3 1 ]   0   +1    [ 1 4 . 3 2 ]
  38:    [ 4 . 2 3 1 ]  (0, 2)    [ 1 1 3 1 ]   1   +1    [ 1 4 2 3 . ]
  39:    [ . 4 2 3 1 ]  (0, 1)    [ . 1 3 1 ]   0   -1    [ . 4 2 3 1 ]
  40:    [ 2 4 . 3 1 ]  (0, 2)    [ . 2 3 1 ]   1   +1    [ 2 4 . 3 1 ]
  41:    [ 4 2 . 3 1 ]  (0, 1)    [ 1 2 3 1 ]   0   +1    [ 2 4 1 3 . ]
  42:    [ 4 1 . 3 2 ]  (1, 4)    [ 1 2 2 1 ]   2   -1    [ 2 1 4 3 . ]
  43:    [ 1 4 . 3 2 ]  (0, 1)    [ . 2 2 1 ]   0   -1    [ 2 . 4 3 1 ]
  44:    [ . 4 1 3 2 ]  (0, 2)    [ . 1 2 1 ]   1   -1    [ . 2 4 3 1 ]
  45:    [ 4 . 1 3 2 ]  (0, 1)    [ 1 1 2 1 ]   0   +1    [ 1 2 4 3 . ]
  46:    [ 1 . 4 3 2 ]  (0, 2)    [ 1 . 2 1 ]   1   -1    [ 1 . 4 3 2 ]
  47:    [ . 1 4 3 2 ]  (0, 1)    [ . . 2 1 ]   0   -1    [ . 1 4 3 2 ]
  48:    [ . 1 4 2 3 ]  (3, 4)    [ . . 1 1 ]   2   -1    [ . 1 3 4 2 ]
  49:    [ 1 . 4 2 3 ]  (0, 1)    [ 1 . 1 1 ]   0   +1    [ 1 . 3 4 2 ]
  50:    [ 4 . 1 2 3 ]  (0, 2)    [ 1 1 1 1 ]   1   +1    [ 1 2 3 4 . ]
  51:    [ . 4 1 2 3 ]  (0, 1)    [ . 1 1 1 ]   0   -1    [ . 2 3 4 1 ]
  52:    [ 1 4 . 2 3 ]  (0, 2)    [ . 2 1 1 ]   1   +1    [ 2 . 3 4 1 ]
  53:    [ 4 1 . 2 3 ]  (0, 1)    [ 1 2 1 1 ]   0   +1    [ 2 1 3 4 . ]
  54:    [ 3 1 . 2 4 ]  (0, 4)    [ 1 2 . 1 ]   2   -1    [ 2 1 3 . 4 ]
  55:    [ 1 3 . 2 4 ]  (0, 1)    [ . 2 . 1 ]   0   -1    [ 2 . 3 1 4 ]
  56:    [ . 3 1 2 4 ]  (0, 2)    [ . 1 . 1 ]   1   -1    [ . 2 3 1 4 ]
  57:    [ 3 . 1 2 4 ]  (0, 1)    [ 1 1 . 1 ]   0   +1    [ 1 2 3 . 4 ]
  58:    [ 1 . 3 2 4 ]  (0, 2)    [ 1 . . 1 ]   1   -1    [ 1 . 3 2 4 ]
  59:    [ . 1 3 2 4 ]  (0, 1)    [ . . . 1 ]   0   -1    [ . 1 3 2 4 ]
  60:    [ . 2 3 1 4 ]  (1, 3)    [ . . . 2 ]   3   +1    [ . 3 1 2 4 ]
  61:    [ 2 . 3 1 4 ]  (0, 1)    [ 1 . . 2 ]   0   +1    [ 1 3 . 2 4 ]
  62:    [ 3 . 2 1 4 ]  (0, 2)    [ 1 1 . 2 ]   1   +1    [ 1 3 2 . 4 ]
  63:    [ . 3 2 1 4 ]  (0, 1)    [ . 1 . 2 ]   0   -1    [ . 3 2 1 4 ]
  64:    [ 2 3 . 1 4 ]  (0, 2)    [ . 2 . 2 ]   1   +1    [ 2 3 . 1 4 ]
  65:    [ 3 2 . 1 4 ]  (0, 1)    [ 1 2 . 2 ]   0   +1    [ 2 3 1 . 4 ]
  66:    [ 4 2 . 1 3 ]  (0, 4)    [ 1 2 1 2 ]   2   +1    [ 2 3 1 4 . ]
  67:    [ 2 4 . 1 3 ]  (0, 1)    [ . 2 1 2 ]   0   -1    [ 2 3 . 4 1 ]
  68:    [ . 4 2 1 3 ]  (0, 2)    [ . 1 1 2 ]   1   -1    [ . 3 2 4 1 ]
  69:    [ 4 . 2 1 3 ]  (0, 1)    [ 1 1 1 2 ]   0   +1    [ 1 3 2 4 . ]
  70:    [ 2 . 4 1 3 ]  (0, 2)    [ 1 . 1 2 ]   1   -1    [ 1 3 . 4 2 ]
  71:    [ . 2 4 1 3 ]  (0, 1)    [ . . 1 2 ]   0   -1    [ . 3 1 4 2 ]
  72:    [ . 3 4 1 2 ]  (1, 4)    [ . . 2 2 ]   2   +1    [ . 3 4 1 2 ]
  73:    [ 3 . 4 1 2 ]  (0, 1)    [ 1 . 2 2 ]   0   +1    [ 1 3 4 . 2 ]
  74:    [ 4 . 3 1 2 ]  (0, 2)    [ 1 1 2 2 ]   1   +1    [ 1 3 4 2 . ]
  75:    [ . 4 3 1 2 ]  (0, 1)    [ . 1 2 2 ]   0   -1    [ . 3 4 2 1 ]
  76:    [ 3 4 . 1 2 ]  (0, 2)    [ . 2 2 2 ]   1   +1    [ 2 3 4 . 1 ]
  77:    [ 4 3 . 1 2 ]  (0, 1)    [ 1 2 2 2 ]   0   +1    [ 2 3 4 1 . ]
  78:    [ 4 3 . 2 1 ]  (3, 4)    [ 1 2 3 2 ]   2   +1    [ 2 4 3 1 . ]
  79:    [ 3 4 . 2 1 ]  (0, 1)    [ . 2 3 2 ]   0   -1    [ 2 4 3 . 1 ]
  80:    [ . 4 3 2 1 ]  (0, 2)    [ . 1 3 2 ]   1   -1    [ . 4 3 2 1 ]
  81:    [ 4 . 3 2 1 ]  (0, 1)    [ 1 1 3 2 ]   0   +1    [ 1 4 3 2 . ]
  82:    [ 3 . 4 2 1 ]  (0, 2)    [ 1 . 3 2 ]   1   -1    [ 1 4 3 . 2 ]
  83:    [ . 3 4 2 1 ]  (0, 1)    [ . . 3 2 ]   0   -1    [ . 4 3 1 2 ]
  84:    [ 1 3 4 2 . ]  (0, 4)    [ . . 4 2 ]   2   +1    [ 4 . 3 1 2 ]
  85:    [ 3 1 4 2 . ]  (0, 1)    [ 1 . 4 2 ]   0   +1    [ 4 1 3 . 2 ]
  86:    [ 4 1 3 2 . ]  (0, 2)    [ 1 1 4 2 ]   1   +1    [ 4 1 3 2 . ]
  87:    [ 1 4 3 2 . ]  (0, 1)    [ . 1 4 2 ]   0   -1    [ 4 . 3 2 1 ]
  88:    [ 3 4 1 2 . ]  (0, 2)    [ . 2 4 2 ]   1   +1    [ 4 2 3 . 1 ]
  89:    [ 4 3 1 2 . ]  (0, 1)    [ 1 2 4 2 ]   0   +1    [ 4 2 3 1 . ]
  90:    [ 4 3 2 1 . ]  (2, 3)    [ 1 2 4 3 ]   3   +1    [ 4 3 2 1 . ]
  91:    [ 3 4 2 1 . ]  (0, 1)    [ . 2 4 3 ]   0   -1    [ 4 3 2 . 1 ]
  92:    [ 2 4 3 1 . ]  (0, 2)    [ . 1 4 3 ]   1   -1    [ 4 3 . 2 1 ]
  93:    [ 4 2 3 1 . ]  (0, 1)    [ 1 1 4 3 ]   0   +1    [ 4 3 1 2 . ]
  94:    [ 3 2 4 1 . ]  (0, 2)    [ 1 . 4 3 ]   1   -1    [ 4 3 1 . 2 ]
  95:    [ 2 3 4 1 . ]  (0, 1)    [ . . 4 3 ]   0   -1    [ 4 3 . 1 2 ]
  96:    [ 2 3 4 . 1 ]  (3, 4)    [ . . 3 3 ]   2   -1    [ 3 4 . 1 2 ]
  97:    [ 3 2 4 . 1 ]  (0, 1)    [ 1 . 3 3 ]   0   +1    [ 3 4 1 . 2 ]
  98:    [ 4 2 3 . 1 ]  (0, 2)    [ 1 1 3 3 ]   1   +1    [ 3 4 1 2 . ]
  99:    [ 2 4 3 . 1 ]  (0, 1)    [ . 1 3 3 ]   0   -1    [ 3 4 . 2 1 ]
 100:    [ 3 4 2 . 1 ]  (0, 2)    [ . 2 3 3 ]   1   +1    [ 3 4 2 . 1 ]
 101:    [ 4 3 2 . 1 ]  (0, 1)    [ 1 2 3 3 ]   0   +1    [ 3 4 2 1 . ]
 102:    [ 4 3 1 . 2 ]  (2, 4)    [ 1 2 2 3 ]   2   -1    [ 3 2 4 1 . ]
 103:    [ 3 4 1 . 2 ]  (0, 1)    [ . 2 2 3 ]   0   -1    [ 3 2 4 . 1 ]
 104:    [ 1 4 3 . 2 ]  (0, 2)    [ . 1 2 3 ]   1   -1    [ 3 . 4 2 1 ]
 105:    [ 4 1 3 . 2 ]  (0, 1)    [ 1 1 2 3 ]   0   +1    [ 3 1 4 2 . ]
 106:    [ 3 1 4 . 2 ]  (0, 2)    [ 1 . 2 3 ]   1   -1    [ 3 1 4 . 2 ]
 107:    [ 1 3 4 . 2 ]  (0, 1)    [ . . 2 3 ]   0   -1    [ 3 . 4 1 2 ]
 108:    [ 1 2 4 . 3 ]  (1, 4)    [ . . 1 3 ]   2   -1    [ 3 . 1 4 2 ]
 109:    [ 2 1 4 . 3 ]  (0, 1)    [ 1 . 1 3 ]   0   +1    [ 3 1 . 4 2 ]
 110:    [ 4 1 2 . 3 ]  (0, 2)    [ 1 1 1 3 ]   1   +1    [ 3 1 2 4 . ]
 111:    [ 1 4 2 . 3 ]  (0, 1)    [ . 1 1 3 ]   0   -1    [ 3 . 2 4 1 ]
 112:    [ 2 4 1 . 3 ]  (0, 2)    [ . 2 1 3 ]   1   +1    [ 3 2 . 4 1 ]
 113:    [ 4 2 1 . 3 ]  (0, 1)    [ 1 2 1 3 ]   0   +1    [ 3 2 1 4 . ]
 114:    [ 3 2 1 . 4 ]  (0, 4)    [ 1 2 . 3 ]   2   -1    [ 3 2 1 . 4 ]
 115:    [ 2 3 1 . 4 ]  (0, 1)    [ . 2 . 3 ]   0   -1    [ 3 2 . 1 4 ]
 116:    [ 1 3 2 . 4 ]  (0, 2)    [ . 1 . 3 ]   1   -1    [ 3 . 2 1 4 ]
 117:    [ 3 1 2 . 4 ]  (0, 1)    [ 1 1 . 3 ]   0   +1    [ 3 1 2 . 4 ]
 118:    [ 2 1 3 . 4 ]  (0, 2)    [ 1 . . 3 ]   1   -1    [ 3 1 . 2 4 ]
 119:    [ 1 2 3 . 4 ]  (0, 1)    [ . . . 3 ]   0   -1    [ 3 . 1 2 4 ]
