// output of ./demo/graph/graph-debruijn-demo.cc:
// Description:
//% Find all paths through the binary De Bruijn graph.

arg 1: 8 == n  [size of graph == 2*n]  default=8
arg 2: 5 == pq  [what to print with each path:
  0==> nothing (just count)
  1==> lowest bits (De Bruijn sequence)
  2==> path
  3==> path binary
  4==> path binary, horiz. layout
  5==> De Bruijn sequence and path 
]  default=5
arg 3: 0 == maxnp  [stop after maxnp paths (0: never stop)]  default=0
arg 4: 0 == p0  [start position <2*n]  default=0
arg 5: 0 == mq  [special: manipulate graph]  default=0
Graph =
  Node:  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
Edge 0:  0  2  4  6  8 10 12 14  0  2  4  6  8 10 12 14
Edge 1:  1  3  5  7  9 11 13 15  1  3  5  7  9 11 13 15
Path(s):
   1:  .1..11.1.1111...     0  1  2  4  9  3  6 13 10  5 11  7 15 14 12  8 
   2:  .1..1111.1.11...     0  1  2  4  9  3  7 15 14 13 10  5 11  6 12  8 
   3:  .1.1..11.1111...     0  1  2  5 10  4  9  3  6 13 11  7 15 14 12  8 
   4:  .1.1..1111.11...     0  1  2  5 10  4  9  3  7 15 14 13 11  6 12  8 
   5:  .1.11..1111.1...     0  1  2  5 11  6 12  9  3  7 15 14 13 10  4  8 
   6:  .1.11.1..1111...     0  1  2  5 11  6 13 10  4  9  3  7 15 14 12  8 
   7:  .1.1111..11.1...     0  1  2  5 11  7 15 14 12  9  3  6 13 10  4  8 
   8:  .1.1111.1..11...     0  1  2  5 11  7 15 14 13 10  4  9  3  6 12  8 
   9:  .11..1.1111.1...     0  1  3  6 12  9  2  5 11  7 15 14 13 10  4  8 
  10:  .11.1..1.1111...     0  1  3  6 13 10  4  9  2  5 11  7 15 14 12  8 
  11:  .11.1.1111..1...     0  1  3  6 13 10  5 11  7 15 14 12  9  2  4  8 
  12:  .11.1111..1.1...     0  1  3  6 13 11  7 15 14 12  9  2  5 10  4  8 
  13:  .1111..1.11.1...     0  1  3  7 15 14 12  9  2  5 11  6 13 10  4  8 
  14:  .1111.1..1.11...     0  1  3  7 15 14 13 10  4  9  2  5 11  6 12  8 
  15:  .1111.1.11..1...     0  1  3  7 15 14 13 10  5 11  6 12  9  2  4  8 
  16:  .1111.11..1.1...     0  1  3  7 15 14 13 11  6 12  9  2  5 10  4  8 
n = 8 (ng=16)   #cycles = 16
