// output of ./demo/comb/perm-trotter-demo.cc:
// Description:
//% Generate all permutations in strong minimal-change order using Trotter's algorithm.
//% Smallest element moves most often.

arg 1: 4 == n  [Permutations of n elements.]  default=4
arg 2: 0 == bq  [Whether to go backwards.]  default=0
   0:    [ . 1 2 3 ]    (3, 2)     [ . 1 2 3 ]     + + + +
   1:    [ 1 . 2 3 ]    (0, 1)     [ 1 . 2 3 ]     + + + +
   2:    [ 1 2 . 3 ]    (1, 2)     [ 2 . 1 3 ]     + + + +
   3:    [ 1 2 3 . ]    (2, 3)     [ 3 . 1 2 ]     + + + +
   4:    [ 2 1 3 . ]    (0, 1)     [ 3 1 . 2 ]     - + + +
   5:    [ 2 1 . 3 ]    (3, 2)     [ 2 1 . 3 ]     - + + +
   6:    [ 2 . 1 3 ]    (2, 1)     [ 1 2 . 3 ]     - + + +
   7:    [ . 2 1 3 ]    (1, 0)     [ . 2 1 3 ]     - + + +
   8:    [ . 2 3 1 ]    (2, 3)     [ . 3 1 2 ]     + + + +
   9:    [ 2 . 3 1 ]    (0, 1)     [ 1 3 . 2 ]     + + + +
  10:    [ 2 3 . 1 ]    (1, 2)     [ 2 3 . 1 ]     + + + +
  11:    [ 2 3 1 . ]    (2, 3)     [ 3 2 . 1 ]     + + + +
  12:    [ 3 2 1 . ]    (0, 1)     [ 3 2 1 . ]     - - + +
  13:    [ 3 2 . 1 ]    (3, 2)     [ 2 3 1 . ]     - - + +
  14:    [ 3 . 2 1 ]    (2, 1)     [ 1 3 2 . ]     - - + +
  15:    [ . 3 2 1 ]    (1, 0)     [ . 3 2 1 ]     - - + +
  16:    [ . 3 1 2 ]    (3, 2)     [ . 2 3 1 ]     + - + +
  17:    [ 3 . 1 2 ]    (0, 1)     [ 1 2 3 . ]     + - + +
  18:    [ 3 1 . 2 ]    (1, 2)     [ 2 1 3 . ]     + - + +
  19:    [ 3 1 2 . ]    (2, 3)     [ 3 1 2 . ]     + - + +
  20:    [ 1 3 2 . ]    (1, 0)     [ 3 . 2 1 ]     - - + +
  21:    [ 1 3 . 2 ]    (3, 2)     [ 2 . 3 1 ]     - - + +
  22:    [ 1 . 3 2 ]    (2, 1)     [ 1 . 3 2 ]     - - + +
  23:    [ . 1 3 2 ]    (1, 0)     [ . 1 3 2 ]     - - + +
 ct=24
