(define (gray x)
;; 49) Gray code. (cond ((= x 0) '())
((= x 1) '("0" "1")) (else (let ([next (gray (- x 1))]) (append (map (lambda (s) (string-append "0" s)) next) (map (lambda (s) (string-append "1" s)) next))))))