( "Gray code  n=" "" )
itemize
rot
tuck
read-num
{
    2
    range
    swap
    cartesian-product
    dup
    length
    half
    chunks
    extract-array
    reverse
    catenate #(list+list)
}
times #(eval)
m:
    flatten
    map-show
    show-line