
(NOTE-LIB "nqthm-boot")

(DEFINE (^BM^ASCII-TABLE)
 (^BM^CONS
  (^BM^CONS
   (^BM^PACK (^BM^CONS (^T) (^BM^CONS (^A) (^BM^CONS (^B) (^BM^ZERO)))))
   (^INT (^BM^CONS (^9) (^BM^ZERO))))
  (^BM^CONS
   (^BM^CONS
    (^BM^PACK
     (^BM^CONS (^N)
      (^BM^CONS (^E)
       (^BM^CONS (^W)
        (^BM^CONS (^L)
         (^BM^CONS (^I) (^BM^CONS (^N) (^BM^CONS (^E) (^BM^ZERO)))))))))
    (^INT (^BM^CONS (^1) (^BM^CONS (^0) (^BM^ZERO)))))
   (^BM^CONS
    (^BM^CONS
     (^BM^PACK
      (^BM^CONS (^P)
       (^BM^CONS (^A) (^BM^CONS (^G) (^BM^CONS (^E) (^BM^ZERO))))))
     (^INT (^BM^CONS (^1) (^BM^CONS (^2) (^BM^ZERO)))))
    (^BM^CONS
     (^BM^CONS
      (^BM^PACK
       (^BM^CONS (^S)
        (^BM^CONS (^P)
         (^BM^CONS (^A) (^BM^CONS (^C) (^BM^CONS (^E) (^BM^ZERO)))))))
      (^INT (^BM^CONS (^3) (^BM^CONS (^2) (^BM^ZERO)))))
     (^BM^CONS
      (^BM^CONS
       (^BM^PACK
        (^BM^CONS (^R)
         (^BM^CONS (^U)
          (^BM^CONS (^B)
           (^BM^CONS (^O) (^BM^CONS (^U) (^BM^CONS (^T) (^BM^ZERO))))))))
       (^INT (^BM^CONS (^1) (^BM^CONS (^2) (^BM^CONS (^7) (^BM^ZERO))))))
      (^BM^CONS
       (^BM^CONS
        (^BM^PACK
         (^BM^CONS (^E)
          (^BM^CONS (^X)
           (^BM^CONS (^C)
            (^BM^CONS (^L)
             (^BM^CONS (^A)
              (^BM^CONS (^M)
               (^BM^CONS (^A)
                (^BM^CONS (^T)
                 (^BM^CONS (^I)
                  (^BM^CONS (^O)
                   (^BM^CONS (^N)
                    (^BM^CONS (^-)
                     (^BM^CONS (^P)
                      (^BM^CONS (^O)
                       (^BM^CONS (^I)
                        (^BM^CONS (^N)
                         (^BM^CONS (^T) (^BM^ZERO)))))))))))))))))))
        (^INT (^BM^CONS (^3) (^BM^CONS (^3) (^BM^ZERO)))))
       (^BM^CONS
        (^BM^CONS
         (^BM^PACK
          (^BM^CONS (^D)
           (^BM^CONS (^O)
            (^BM^CONS (^U)
             (^BM^CONS (^B)
              (^BM^CONS (^L)
               (^BM^CONS (^E)
                (^BM^CONS (^-)
                 (^BM^CONS (^Q)
                  (^BM^CONS (^U)
                   (^BM^CONS (^O)
                    (^BM^CONS (^T) (^BM^CONS (^E) (^BM^ZERO))))))))))))))
         (^INT (^BM^CONS (^3) (^BM^CONS (^4) (^BM^ZERO)))))
        (^BM^CONS
         (^BM^CONS
          (^BM^PACK
           (^BM^CONS (^N)
            (^BM^CONS (^U)
             (^BM^CONS (^M)
              (^BM^CONS (^B)
               (^BM^CONS (^E)
                (^BM^CONS (^R)
                 (^BM^CONS (^-)
                  (^BM^CONS (^S)
                   (^BM^CONS (^I)
                    (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO)))))))))))))
          (^INT (^BM^CONS (^3) (^BM^CONS (^5) (^BM^ZERO)))))
         (^BM^CONS
          (^BM^CONS
           (^BM^PACK
            (^BM^CONS (^D)
             (^BM^CONS (^O)
              (^BM^CONS (^L)
               (^BM^CONS (^L)
                (^BM^CONS (^A)
                 (^BM^CONS (^R)
                  (^BM^CONS (^-)
                   (^BM^CONS (^S)
                    (^BM^CONS (^I)
                     (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO)))))))))))))
           (^INT (^BM^CONS (^3) (^BM^CONS (^6) (^BM^ZERO)))))
          (^BM^CONS
           (^BM^CONS
            (^BM^PACK
             (^BM^CONS (^P)
              (^BM^CONS (^E)
               (^BM^CONS (^R)
                (^BM^CONS (^C)
                 (^BM^CONS (^E)
                  (^BM^CONS (^N)
                   (^BM^CONS (^T)
                    (^BM^CONS (^-)
                     (^BM^CONS (^S)
                      (^BM^CONS (^I)
                       (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO))))))))))))))
            (^INT (^BM^CONS (^3) (^BM^CONS (^7) (^BM^ZERO)))))
           (^BM^CONS
            (^BM^CONS
             (^BM^PACK
              (^BM^CONS (^A)
               (^BM^CONS (^M)
                (^BM^CONS (^P)
                 (^BM^CONS (^E)
                  (^BM^CONS (^R)
                   (^BM^CONS (^S)
                    (^BM^CONS (^A)
                     (^BM^CONS (^N) (^BM^CONS (^D) (^BM^ZERO)))))))))))
             (^INT (^BM^CONS (^3) (^BM^CONS (^8) (^BM^ZERO)))))
            (^BM^CONS
             (^BM^CONS
              (^BM^PACK
               (^BM^CONS (^S)
                (^BM^CONS (^I)
                 (^BM^CONS (^N)
                  (^BM^CONS (^G)
                   (^BM^CONS (^L)
                    (^BM^CONS (^E)
                     (^BM^CONS (^-)
                      (^BM^CONS (^Q)
                       (^BM^CONS (^U)
                        (^BM^CONS (^O)
                         (^BM^CONS (^T) (^BM^CONS (^E) (^BM^ZERO))))))))))))))
              (^INT (^BM^CONS (^3) (^BM^CONS (^9) (^BM^ZERO)))))
             (^BM^CONS
              (^BM^CONS
               (^BM^PACK
                (^BM^CONS (^O)
                 (^BM^CONS (^P)
                  (^BM^CONS (^E)
                   (^BM^CONS (^N)
                    (^BM^CONS (^-)
                     (^BM^CONS (^P)
                      (^BM^CONS (^A)
                       (^BM^CONS (^R)
                        (^BM^CONS (^E) (^BM^CONS (^N) (^BM^ZERO))))))))))))
               (^INT (^BM^CONS (^4) (^BM^CONS (^0) (^BM^ZERO)))))
              (^BM^CONS
               (^BM^CONS
                (^BM^PACK
                 (^BM^CONS (^C)
                  (^BM^CONS (^L)
                   (^BM^CONS (^O)
                    (^BM^CONS (^S)
                     (^BM^CONS (^E)
                      (^BM^CONS (^-)
                       (^BM^CONS (^P)
                        (^BM^CONS (^A)
                         (^BM^CONS (^R)
                          (^BM^CONS (^E) (^BM^CONS (^N) (^BM^ZERO)))))))))))))
                (^INT (^BM^CONS (^4) (^BM^CONS (^1) (^BM^ZERO)))))
               (^BM^CONS
                (^BM^CONS
                 (^BM^PACK
                  (^BM^CONS (^A)
                   (^BM^CONS (^S)
                    (^BM^CONS (^T)
                     (^BM^CONS (^E)
                      (^BM^CONS (^R)
                       (^BM^CONS (^I)
                        (^BM^CONS (^S) (^BM^CONS (^K) (^BM^ZERO))))))))))
                 (^INT (^BM^CONS (^4) (^BM^CONS (^2) (^BM^ZERO)))))
                (^BM^CONS
                 (^BM^CONS
                  (^BM^PACK
                   (^BM^CONS (^P)
                    (^BM^CONS (^L)
                     (^BM^CONS (^U)
                      (^BM^CONS (^S)
                       (^BM^CONS (^-)
                        (^BM^CONS (^S)
                         (^BM^CONS (^I)
                          (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO)))))))))))
                  (^INT (^BM^CONS (^4) (^BM^CONS (^3) (^BM^ZERO)))))
                 (^BM^CONS
                  (^BM^CONS
                   (^BM^PACK
                    (^BM^CONS (^C)
                     (^BM^CONS (^O)
                      (^BM^CONS (^M)
                       (^BM^CONS (^M) (^BM^CONS (^A) (^BM^ZERO)))))))
                   (^INT (^BM^CONS (^4) (^BM^CONS (^4) (^BM^ZERO)))))
                  (^BM^CONS
                   (^BM^CONS
                    (^BM^PACK
                     (^BM^CONS (^M)
                      (^BM^CONS (^I)
                       (^BM^CONS (^N)
                        (^BM^CONS (^U)
                         (^BM^CONS (^S)
                          (^BM^CONS (^-)
                           (^BM^CONS (^S)
                            (^BM^CONS (^I)
                             (^BM^CONS (^G)
                              (^BM^CONS (^N) (^BM^ZERO))))))))))))
                    (^INT (^BM^CONS (^4) (^BM^CONS (^5) (^BM^ZERO)))))
                   (^BM^CONS
                    (^BM^CONS
                     (^BM^PACK
                      (^BM^CONS (^D)
                       (^BM^CONS (^O) (^BM^CONS (^T) (^BM^ZERO)))))
                     (^INT (^BM^CONS (^4) (^BM^CONS (^6) (^BM^ZERO)))))
                    (^BM^CONS
                     (^BM^CONS
                      (^BM^PACK
                       (^BM^CONS (^S)
                        (^BM^CONS (^L)
                         (^BM^CONS (^A)
                          (^BM^CONS (^S) (^BM^CONS (^H) (^BM^ZERO)))))))
                      (^INT (^BM^CONS (^4) (^BM^CONS (^7) (^BM^ZERO)))))
                     (^BM^CONS
                      (^BM^CONS
                       (^BM^PACK
                        (^BM^CONS (^D)
                         (^BM^CONS (^I)
                          (^BM^CONS (^G)
                           (^BM^CONS (^I)
                            (^BM^CONS (^T)
                             (^BM^CONS (^-)
                              (^BM^CONS (^Z)
                               (^BM^CONS (^E)
                                (^BM^CONS (^R)
                                 (^BM^CONS (^O) (^BM^ZERO))))))))))))
                       (^INT (^BM^CONS (^4) (^BM^CONS (^8) (^BM^ZERO)))))
                      (^BM^CONS
                       (^BM^CONS
                        (^BM^PACK
                         (^BM^CONS (^D)
                          (^BM^CONS (^I)
                           (^BM^CONS (^G)
                            (^BM^CONS (^I)
                             (^BM^CONS (^T)
                              (^BM^CONS (^-)
                               (^BM^CONS (^O)
                                (^BM^CONS (^N)
                                 (^BM^CONS (^E) (^BM^ZERO)))))))))))
                        (^INT (^BM^CONS (^4) (^BM^CONS (^9) (^BM^ZERO)))))
                       (^BM^CONS
                        (^BM^CONS
                         (^BM^PACK
                          (^BM^CONS (^D)
                           (^BM^CONS (^I)
                            (^BM^CONS (^G)
                             (^BM^CONS (^I)
                              (^BM^CONS (^T)
                               (^BM^CONS (^-)
                                (^BM^CONS (^T)
                                 (^BM^CONS (^W)
                                  (^BM^CONS (^O) (^BM^ZERO)))))))))))
                         (^INT (^BM^CONS (^5) (^BM^CONS (^0) (^BM^ZERO)))))
                        (^BM^CONS
                         (^BM^CONS
                          (^BM^PACK
                           (^BM^CONS (^D)
                            (^BM^CONS (^I)
                             (^BM^CONS (^G)
                              (^BM^CONS (^I)
                               (^BM^CONS (^T)
                                (^BM^CONS (^-)
                                 (^BM^CONS (^T)
                                  (^BM^CONS (^H)
                                   (^BM^CONS (^R)
                                    (^BM^CONS (^E)
                                     (^BM^CONS (^E) (^BM^ZERO)))))))))))))
                          (^INT (^BM^CONS (^5) (^BM^CONS (^1) (^BM^ZERO)))))
                         (^BM^CONS
                          (^BM^CONS
                           (^BM^PACK
                            (^BM^CONS (^D)
                             (^BM^CONS (^I)
                              (^BM^CONS (^G)
                               (^BM^CONS (^I)
                                (^BM^CONS (^T)
                                 (^BM^CONS (^-)
                                  (^BM^CONS (^F)
                                   (^BM^CONS (^O)
                                    (^BM^CONS (^U)
                                     (^BM^CONS (^R) (^BM^ZERO))))))))))))
                           (^INT (^BM^CONS (^5) (^BM^CONS (^2) (^BM^ZERO)))))
                          (^BM^CONS
                           (^BM^CONS
                            (^BM^PACK
                             (^BM^CONS (^D)
                              (^BM^CONS (^I)
                               (^BM^CONS (^G)
                                (^BM^CONS (^I)
                                 (^BM^CONS (^T)
                                  (^BM^CONS (^-)
                                   (^BM^CONS (^F)
                                    (^BM^CONS (^I)
                                     (^BM^CONS (^V)
                                      (^BM^CONS (^E) (^BM^ZERO))))))))))))
                            (^INT (^BM^CONS (^5) (^BM^CONS (^3) (^BM^ZERO)))))
                           (^BM^CONS
                            (^BM^CONS
                             (^BM^PACK
                              (^BM^CONS (^D)
                               (^BM^CONS (^I)
                                (^BM^CONS (^G)
                                 (^BM^CONS (^I)
                                  (^BM^CONS (^T)
                                   (^BM^CONS (^-)
                                    (^BM^CONS (^S)
                                     (^BM^CONS (^I)
                                      (^BM^CONS (^X) (^BM^ZERO)))))))))))
                             (^INT (^BM^CONS (^5) (^BM^CONS (^4) (^BM^ZERO)))))
                            (^BM^CONS
                             (^BM^CONS
                              (^BM^PACK
                               (^BM^CONS (^D)
                                (^BM^CONS (^I)
                                 (^BM^CONS (^G)
                                  (^BM^CONS (^I)
                                   (^BM^CONS (^T)
                                    (^BM^CONS (^-)
                                     (^BM^CONS (^S)
                                      (^BM^CONS (^E)
                                       (^BM^CONS
                                        (^V)
                                        (^BM^CONS
                                         (^E)
                                         (^BM^CONS (^N) (^BM^ZERO)))))))))))))
                              (^INT
                               (^BM^CONS (^5) (^BM^CONS (^5) (^BM^ZERO)))))
                             (^BM^CONS
                              (^BM^CONS
                               (^BM^PACK
                                (^BM^CONS (^D)
                                 (^BM^CONS (^I)
                                  (^BM^CONS (^G)
                                   (^BM^CONS (^I)
                                    (^BM^CONS (^T)
                                     (^BM^CONS (^-)
                                      (^BM^CONS (^E)
                                       (^BM^CONS
                                        (^I)
                                        (^BM^CONS
                                         (^G)
                                         (^BM^CONS
                                          (^H)
                                          (^BM^CONS (^T) (^BM^ZERO)))))))))))))
                               (^INT
                                (^BM^CONS (^5) (^BM^CONS (^6) (^BM^ZERO)))))
                              (^BM^CONS
                               (^BM^CONS
                                (^BM^PACK
                                 (^BM^CONS (^D)
                                  (^BM^CONS (^I)
                                   (^BM^CONS (^G)
                                    (^BM^CONS (^I)
                                     (^BM^CONS (^T)
                                      (^BM^CONS (^-)
                                       (^BM^CONS
                                        (^N)
                                        (^BM^CONS
                                         (^I)
                                         (^BM^CONS
                                          (^N)
                                          (^BM^CONS (^E) (^BM^ZERO))))))))))))
                                (^INT
                                 (^BM^CONS (^5) (^BM^CONS (^7) (^BM^ZERO)))))
                               (^BM^CONS
                                (^BM^CONS
                                 (^BM^PACK
                                  (^BM^CONS (^C)
                                   (^BM^CONS (^O)
                                    (^BM^CONS (^L)
                                     (^BM^CONS (^O)
                                      (^BM^CONS (^N) (^BM^ZERO)))))))
                                 (^INT
                                  (^BM^CONS (^5) (^BM^CONS (^8) (^BM^ZERO)))))
                                (^BM^CONS
                                 (^BM^CONS
                                  (^BM^PACK
                                   (^BM^CONS (^S)
                                    (^BM^CONS (^E)
                                     (^BM^CONS (^M)
                                      (^BM^CONS (^I)
                                       (^BM^CONS
                                        (^C)
                                        (^BM^CONS
                                         (^O)
                                         (^BM^CONS
                                          (^L)
                                          (^BM^CONS
                                           (^O)
                                           (^BM^CONS (^N) (^BM^ZERO)))))))))))
                                  (^INT
                                   (^BM^CONS (^5) (^BM^CONS (^9) (^BM^ZERO)))))
                                 (^BM^CONS
                                  (^BM^CONS
                                   (^BM^PACK
                                    (^BM^CONS (^L)
                                     (^BM^CONS (^E)
                                      (^BM^CONS (^S)
                                       (^BM^CONS
                                        (^S)
                                        (^BM^CONS
                                         (^-)
                                         (^BM^CONS
                                          (^T)
                                          (^BM^CONS
                                           (^H)
                                           (^BM^CONS
                                            (^A)
                                            (^BM^CONS
                                             (^N)
                                             (^BM^CONS
                                              (^-)
                                              (^BM^CONS
                                               (^S)
                                               (^BM^CONS
                                                (^I)
                                                (^BM^CONS
                                                 (^G)
                                                 (^BM^CONS
                                                  (^N)
                                                  (^BM^ZERO))))))))))))))))
                                   (^INT
                                    (^BM^CONS (^6)
                                     (^BM^CONS (^0) (^BM^ZERO)))))
                                  (^BM^CONS
                                   (^BM^CONS
                                    (^BM^PACK
                                     (^BM^CONS (^E)
                                      (^BM^CONS (^Q)
                                       (^BM^CONS
                                        (^U)
                                        (^BM^CONS
                                         (^A)
                                         (^BM^CONS
                                          (^L)
                                          (^BM^CONS
                                           (^-)
                                           (^BM^CONS
                                            (^S)
                                            (^BM^CONS
                                             (^I)
                                             (^BM^CONS
                                              (^G)
                                              (^BM^CONS
                                               (^N)
                                               (^BM^ZERO))))))))))))
                                    (^INT
                                     (^BM^CONS (^6)
                                      (^BM^CONS (^1) (^BM^ZERO)))))
                                   (^BM^CONS
                                    (^BM^CONS
                                     (^BM^PACK
                                      (^BM^CONS (^G)
                                       (^BM^CONS
                                        (^R)
                                        (^BM^CONS
                                         (^E)
                                         (^BM^CONS
                                          (^A)
                                          (^BM^CONS
                                           (^T)
                                           (^BM^CONS
                                            (^E)
                                            (^BM^CONS
                                             (^R)
                                             (^BM^CONS
                                              (^-)
                                              (^BM^CONS
                                               (^T)
                                               (^BM^CONS
                                                (^H)
                                                (^BM^CONS
                                                 (^A)
                                                 (^BM^CONS
                                                  (^N)
                                                  (^BM^CONS
                                                   (^-)
                                                   (^BM^CONS
                                                    (^S)
                                                    (^BM^CONS
                                                     (^I)
                                                     (^BM^CONS
                                                      (^G)
                                                      (^BM^CONS
                                                       (^N)
                                                       (^BM^ZERO)))))))))))))))))))
                                     (^INT
                                      (^BM^CONS (^6)
                                       (^BM^CONS (^2) (^BM^ZERO)))))
                                    (^BM^CONS
                                     (^BM^CONS
                                      (^BM^PACK
                                       (^BM^CONS
                                        (^Q)
                                        (^BM^CONS
                                         (^U)
                                         (^BM^CONS
                                          (^E)
                                          (^BM^CONS
                                           (^S)
                                           (^BM^CONS
                                            (^T)
                                            (^BM^CONS
                                             (^I)
                                             (^BM^CONS
                                              (^O)
                                              (^BM^CONS
                                               (^N)
                                               (^BM^CONS
                                                (^-)
                                                (^BM^CONS
                                                 (^M)
                                                 (^BM^CONS
                                                  (^A)
                                                  (^BM^CONS
                                                   (^R)
                                                   (^BM^CONS
                                                    (^K)
                                                    (^BM^ZERO)))))))))))))))
                                      (^INT
                                       (^BM^CONS
                                        (^6)
                                        (^BM^CONS (^3) (^BM^ZERO)))))
                                     (^BM^CONS
                                      (^BM^CONS
                                       (^BM^PACK
                                        (^BM^CONS
                                         (^A)
                                         (^BM^CONS
                                          (^T)
                                          (^BM^CONS
                                           (^-)
                                           (^BM^CONS
                                            (^S)
                                            (^BM^CONS
                                             (^I)
                                             (^BM^CONS
                                              (^G)
                                              (^BM^CONS (^N) (^BM^ZERO)))))))))
                                       (^INT
                                        (^BM^CONS
                                         (^6)
                                         (^BM^CONS (^4) (^BM^ZERO)))))
                                      (^BM^CONS
                                       (^BM^CONS
                                        (^BM^PACK
                                         (^BM^CONS
                                          (^U)
                                          (^BM^CONS
                                           (^P)
                                           (^BM^CONS
                                            (^P)
                                            (^BM^CONS
                                             (^E)
                                             (^BM^CONS
                                              (^R)
                                              (^BM^CONS
                                               (^-)
                                               (^BM^CONS
                                                (^A)
                                                (^BM^ZERO)))))))))
                                        (^INT
                                         (^BM^CONS
                                          (^6)
                                          (^BM^CONS (^5) (^BM^ZERO)))))
                                       (^BM^CONS
                                        (^BM^CONS
                                         (^BM^PACK
                                          (^BM^CONS
                                           (^U)
                                           (^BM^CONS
                                            (^P)
                                            (^BM^CONS
                                             (^P)
                                             (^BM^CONS
                                              (^E)
                                              (^BM^CONS
                                               (^R)
                                               (^BM^CONS
                                                (^-)
                                                (^BM^CONS
                                                 (^B)
                                                 (^BM^ZERO)))))))))
                                         (^INT
                                          (^BM^CONS
                                           (^6)
                                           (^BM^CONS (^6) (^BM^ZERO)))))
                                        (^BM^CONS
                                         (^BM^CONS
                                          (^BM^PACK
                                           (^BM^CONS
                                            (^U)
                                            (^BM^CONS
                                             (^P)
                                             (^BM^CONS
                                              (^P)
                                              (^BM^CONS
                                               (^E)
                                               (^BM^CONS
                                                (^R)
                                                (^BM^CONS
                                                 (^-)
                                                 (^BM^CONS
                                                  (^C)
                                                  (^BM^ZERO)))))))))
                                          (^INT
                                           (^BM^CONS
                                            (^6)
                                            (^BM^CONS (^7) (^BM^ZERO)))))
                                         (^BM^CONS
                                          (^BM^CONS
                                           (^BM^PACK
                                            (^BM^CONS
                                             (^U)
                                             (^BM^CONS
                                              (^P)
                                              (^BM^CONS
                                               (^P)
                                               (^BM^CONS
                                                (^E)
                                                (^BM^CONS
                                                 (^R)
                                                 (^BM^CONS
                                                  (^-)
                                                  (^BM^CONS
                                                   (^D)
                                                   (^BM^ZERO)))))))))
                                           (^INT
                                            (^BM^CONS
                                             (^6)
                                             (^BM^CONS (^8) (^BM^ZERO)))))
                                          (^BM^CONS
                                           (^BM^CONS
                                            (^BM^PACK
                                             (^BM^CONS
                                              (^U)
                                              (^BM^CONS
                                               (^P)
                                               (^BM^CONS
                                                (^P)
                                                (^BM^CONS
                                                 (^E)
                                                 (^BM^CONS
                                                  (^R)
                                                  (^BM^CONS
                                                   (^-)
                                                   (^BM^CONS
                                                    (^E)
                                                    (^BM^ZERO)))))))))
                                            (^INT
                                             (^BM^CONS
                                              (^6)
                                              (^BM^CONS (^9) (^BM^ZERO)))))
                                           (^BM^CONS
                                            (^BM^CONS
                                             (^BM^PACK
                                              (^BM^CONS
                                               (^U)
                                               (^BM^CONS
                                                (^P)
                                                (^BM^CONS
                                                 (^P)
                                                 (^BM^CONS
                                                  (^E)
                                                  (^BM^CONS
                                                   (^R)
                                                   (^BM^CONS
                                                    (^-)
                                                    (^BM^CONS
                                                     (^F)
                                                     (^BM^ZERO)))))))))
                                             (^INT
                                              (^BM^CONS
                                               (^7)
                                               (^BM^CONS (^0) (^BM^ZERO)))))
                                            (^BM^CONS
                                             (^BM^CONS
                                              (^BM^PACK
                                               (^BM^CONS
                                                (^U)
                                                (^BM^CONS
                                                 (^P)
                                                 (^BM^CONS
                                                  (^P)
                                                  (^BM^CONS
                                                   (^E)
                                                   (^BM^CONS
                                                    (^R)
                                                    (^BM^CONS
                                                     (^-)
                                                     (^BM^CONS
                                                      (^G)
                                                      (^BM^ZERO)))))))))
                                              (^INT
                                               (^BM^CONS
                                                (^7)
                                                (^BM^CONS (^1) (^BM^ZERO)))))
                                             (^BM^CONS
                                              (^BM^CONS
                                               (^BM^PACK
                                                (^BM^CONS
                                                 (^U)
                                                 (^BM^CONS
                                                  (^P)
                                                  (^BM^CONS
                                                   (^P)
                                                   (^BM^CONS
                                                    (^E)
                                                    (^BM^CONS
                                                     (^R)
                                                     (^BM^CONS
                                                      (^-)
                                                      (^BM^CONS
                                                       (^H)
                                                       (^BM^ZERO)))))))))
                                               (^INT
                                                (^BM^CONS
                                                 (^7)
                                                 (^BM^CONS (^2) (^BM^ZERO)))))
                                              (^BM^CONS
                                               (^BM^CONS
                                                (^BM^PACK
                                                 (^BM^CONS
                                                  (^U)
                                                  (^BM^CONS
                                                   (^P)
                                                   (^BM^CONS
                                                    (^P)
                                                    (^BM^CONS
                                                     (^E)
                                                     (^BM^CONS
                                                      (^R)
                                                      (^BM^CONS
                                                       (^-)
                                                       (^BM^CONS
                                                        (^I)
                                                        (^BM^ZERO)))))))))
                                                (^INT
                                                 (^BM^CONS
                                                  (^7)
                                                  (^BM^CONS (^3) (^BM^ZERO)))))
                                               (^BM^CONS
                                                (^BM^CONS
                                                 (^BM^PACK
                                                  (^BM^CONS
                                                   (^U)
                                                   (^BM^CONS
                                                    (^P)
                                                    (^BM^CONS
                                                     (^P)
                                                     (^BM^CONS
                                                      (^E)
                                                      (^BM^CONS
                                                       (^R)
                                                       (^BM^CONS
                                                        (^-)
                                                        (^BM^CONS
                                                         (^J)
                                                         (^BM^ZERO)))))))))
                                                 (^INT
                                                  (^BM^CONS
                                                   (^7)
                                                   (^BM^CONS
                                                    (^4)
                                                    (^BM^ZERO)))))
                                                (^BM^CONS
                                                 (^BM^CONS
                                                  (^BM^PACK
                                                   (^BM^CONS
                                                    (^U)
                                                    (^BM^CONS
                                                     (^P)
                                                     (^BM^CONS
                                                      (^P)
                                                      (^BM^CONS
                                                       (^E)
                                                       (^BM^CONS
                                                        (^R)
                                                        (^BM^CONS
                                                         (^-)
                                                         (^BM^CONS
                                                          (^K)
                                                          (^BM^ZERO)))))))))
                                                  (^INT
                                                   (^BM^CONS
                                                    (^7)
                                                    (^BM^CONS
                                                     (^5)
                                                     (^BM^ZERO)))))
                                                 (^BM^CONS
                                                  (^BM^CONS
                                                   (^BM^PACK
                                                    (^BM^CONS
                                                     (^U)
                                                     (^BM^CONS
                                                      (^P)
                                                      (^BM^CONS
                                                       (^P)
                                                       (^BM^CONS
                                                        (^E)
                                                        (^BM^CONS
                                                         (^R)
                                                         (^BM^CONS
                                                          (^-)
                                                          (^BM^CONS
                                                           (^L)
                                                           (^BM^ZERO)))))))))
                                                   (^INT
                                                    (^BM^CONS
                                                     (^7)
                                                     (^BM^CONS
                                                      (^6)
                                                      (^BM^ZERO)))))
                                                  (^BM^CONS
                                                   (^BM^CONS
                                                    (^BM^PACK
                                                     (^BM^CONS
                                                      (^U)
                                                      (^BM^CONS
                                                       (^P)
                                                       (^BM^CONS
                                                        (^P)
                                                        (^BM^CONS
                                                         (^E)
                                                         (^BM^CONS
                                                          (^R)
                                                          (^BM^CONS
                                                           (^-)
                                                           (^BM^CONS
                                                            (^M)
                                                            (^BM^ZERO)))))))))
                                                    (^INT
                                                     (^BM^CONS
                                                      (^7)
                                                      (^BM^CONS
                                                       (^7)
                                                       (^BM^ZERO)))))
                                                   (^BM^CONS
                                                    (^BM^CONS
                                                     (^BM^PACK
                                                      (^BM^CONS
                                                       (^U)
                                                       (^BM^CONS
                                                        (^P)
                                                        (^BM^CONS
                                                         (^P)
                                                         (^BM^CONS
                                                          (^E)
                                                          (^BM^CONS
                                                           (^R)
                                                           (^BM^CONS
                                                            (^-)
                                                            (^BM^CONS
                                                             (^N)
                                                             (^BM^ZERO)))))))))
                                                     (^INT
                                                      (^BM^CONS
                                                       (^7)
                                                       (^BM^CONS
                                                        (^8)
                                                        (^BM^ZERO)))))
                                                    (^BM^CONS
                                                     (^BM^CONS
                                                      (^BM^PACK
                                                       (^BM^CONS
                                                        (^U)
                                                        (^BM^CONS
                                                         (^P)
                                                         (^BM^CONS
                                                          (^P)
                                                          (^BM^CONS
                                                           (^E)
                                                           (^BM^CONS
                                                            (^R)
                                                            (^BM^CONS
                                                             (^-)
                                                             (^BM^CONS
                                                              (^O)
                                                              (^BM^ZERO)))))))))
                                                      (^INT
                                                       (^BM^CONS
                                                        (^7)
                                                        (^BM^CONS
                                                         (^9)
                                                         (^BM^ZERO)))))
                                                     (^BM^CONS
                                                      (^BM^CONS
                                                       (^BM^PACK
                                                        (^BM^CONS
                                                         (^U)
                                                         (^BM^CONS
                                                          (^P)
                                                          (^BM^CONS
                                                           (^P)
                                                           (^BM^CONS
                                                            (^E)
                                                            (^BM^CONS
                                                             (^R)
                                                             (^BM^CONS
                                                              (^-)
                                                              (^BM^CONS
                                                               (^P)
                                                               (^BM^ZERO)))))))))
                                                       (^INT
                                                        (^BM^CONS
                                                         (^8)
                                                         (^BM^CONS
                                                          (^0)
                                                          (^BM^ZERO)))))
                                                      (^BM^CONS
                                                       (^BM^CONS
                                                        (^BM^PACK
                                                         (^BM^CONS
                                                          (^U)
                                                          (^BM^CONS
                                                           (^P)
                                                           (^BM^CONS
                                                            (^P)
                                                            (^BM^CONS
                                                             (^E)
                                                             (^BM^CONS
                                                              (^R)
                                                              (^BM^CONS
                                                               (^-)
                                                               (^BM^CONS
                                                                (^Q)
                                                                (^BM^ZERO)))))))))
                                                        (^INT
                                                         (^BM^CONS
                                                          (^8)
                                                          (^BM^CONS
                                                           (^1)
                                                           (^BM^ZERO)))))
                                                       (^BM^CONS
                                                        (^BM^CONS
                                                         (^BM^PACK
                                                          (^BM^CONS
                                                           (^U)
                                                           (^BM^CONS
                                                            (^P)
                                                            (^BM^CONS
                                                             (^P)
                                                             (^BM^CONS
                                                              (^E)
                                                              (^BM^CONS
                                                               (^R)
                                                               (^BM^CONS
                                                                (^-)
                                                                (^BM^CONS
                                                                 (^R)
                                                                 (^BM^ZERO)))))))))
                                                         (^INT
                                                          (^BM^CONS
                                                           (^8)
                                                           (^BM^CONS
                                                            (^2)
                                                            (^BM^ZERO)))))
                                                        (^BM^CONS
                                                         (^BM^CONS
                                                          (^BM^PACK
                                                           (^BM^CONS
                                                            (^U)
                                                            (^BM^CONS
                                                             (^P)
                                                             (^BM^CONS
                                                              (^P)
                                                              (^BM^CONS
                                                               (^E)
                                                               (^BM^CONS
                                                                (^R)
                                                                (^BM^CONS
                                                                 (^-)
                                                                 (^BM^CONS
                                                                  (^S)
                                                                  (^BM^ZERO)))))))))
                                                          (^INT
                                                           (^BM^CONS
                                                            (^8)
                                                            (^BM^CONS
                                                             (^3)
                                                             (^BM^ZERO)))))
                                                         (^BM^CONS
                                                          (^BM^CONS
                                                           (^BM^PACK
                                                            (^BM^CONS
                                                             (^U)
                                                             (^BM^CONS
                                                              (^P)
                                                              (^BM^CONS
                                                               (^P)
                                                               (^BM^CONS
                                                                (^E)
                                                                (^BM^CONS
                                                                 (^R)
                                                                 (^BM^CONS
                                                                  (^-)
                                                                  (^BM^CONS
                                                                   (^T)
                                                                   (^BM^ZERO)))))))))
                                                           (^INT
                                                            (^BM^CONS
                                                             (^8)
                                                             (^BM^CONS
                                                              (^4)
                                                              (^BM^ZERO)))))
                                                          (^BM^CONS
                                                           (^BM^CONS
                                                            (^BM^PACK
                                                             (^BM^CONS
                                                              (^U)
                                                              (^BM^CONS
                                                               (^P)
                                                               (^BM^CONS
                                                                (^P)
                                                                (^BM^CONS
                                                                 (^E)
                                                                 (^BM^CONS
                                                                  (^R)
                                                                  (^BM^CONS
                                                                   (^-)
                                                                   (^BM^CONS
                                                                    (^U)
                                                                    (^BM^ZERO)))))))))
                                                            (^INT
                                                             (^BM^CONS
                                                              (^8)
                                                              (^BM^CONS
                                                               (^5)
                                                               (^BM^ZERO)))))
                                                           (^BM^CONS
                                                            (^BM^CONS
                                                             (^BM^PACK
                                                              (^BM^CONS
                                                               (^U)
                                                               (^BM^CONS
                                                                (^P)
                                                                (^BM^CONS
                                                                 (^P)
                                                                 (^BM^CONS
                                                                  (^E)
                                                                  (^BM^CONS
                                                                   (^R)
                                                                   (^BM^CONS
                                                                    (^-)
                                                                    (^BM^CONS
                                                                     (^V)
                                                                     (^BM^ZERO)))))))))
                                                             (^INT
                                                              (^BM^CONS
                                                               (^8)
                                                               (^BM^CONS
                                                                (^6)
                                                                (^BM^ZERO)))))
                                                            (^BM^CONS
                                                             (^BM^CONS
                                                              (^BM^PACK
                                                               (^BM^CONS
                                                                (^U)
                                                                (^BM^CONS
                                                                 (^P)
                                                                 (^BM^CONS
                                                                  (^P)
                                                                  (^BM^CONS
                                                                   (^E)
                                                                   (^BM^CONS
                                                                    (^R)
                                                                    (^BM^CONS
                                                                     (^-)
                                                                     (^BM^CONS
                                                                      (^W)
                                                                      (^BM^ZERO)))))))))
                                                              (^INT
                                                               (^BM^CONS
                                                                (^8)
                                                                (^BM^CONS
                                                                 (^7)
                                                                 (^BM^ZERO)))))
                                                             (^BM^CONS
                                                              (^BM^CONS
                                                               (^BM^PACK
                                                                (^BM^CONS
                                                                 (^U)
                                                                 (^BM^CONS
                                                                  (^P)
                                                                  (^BM^CONS
                                                                   (^P)
                                                                   (^BM^CONS
                                                                    (^E)
                                                                    (^BM^CONS
                                                                     (^R)
                                                                     (^BM^CONS
                                                                      (^-)
                                                                      (^BM^CONS
                                                                       (^X)
                                                                       (^BM^ZERO)))))))))
                                                               (^INT
                                                                (^BM^CONS
                                                                 (^8)
                                                                 (^BM^CONS
                                                                  (^8)
                                                                  (^BM^ZERO)))))
                                                              (^BM^CONS
                                                               (^BM^CONS
                                                                (^BM^PACK
                                                                 (^BM^CONS
                                                                  (^U)
                                                                  (^BM^CONS
                                                                   (^P)
                                                                   (^BM^CONS
                                                                    (^P)
                                                                    (^BM^CONS
                                                                     (^E)
                                                                     (^BM^CONS
                                                                      (^R)
                                                                      (^BM^CONS
                                                                       (^-)
                                                                       (^BM^CONS
                                                                        (^Y)
                                                                        (^BM^ZERO)))))))))
                                                                (^INT
                                                                 (^BM^CONS
                                                                  (^8)
                                                                  (^BM^CONS
                                                                   (^9)
                                                                   (^BM^ZERO)))))
                                                               (^BM^CONS
                                                                (^BM^CONS
                                                                 (^BM^PACK
                                                                  (^BM^CONS
                                                                   (^U)
                                                                   (^BM^CONS
                                                                    (^P)
                                                                    (^BM^CONS
                                                                     (^P)
                                                                     (^BM^CONS
                                                                      (^E)
                                                                      (^BM^CONS
                                                                       (^R)
                                                                       (^BM^CONS
                                                                        (^-)
                                                                        (^BM^CONS
                                                                         (^Z)
                                                                         (^BM^ZERO)))))))))
                                                                 (^INT
                                                                  (^BM^CONS
                                                                   (^9)
                                                                   (^BM^CONS
                                                                    (^0)
                                                                    (^BM^ZERO)))))
                                                                (^BM^CONS
                                                                 (^BM^CONS
                                                                  (^BM^PACK
                                                                   (^BM^CONS
                                                                    (^O)
                                                                    (^BM^CONS
                                                                     (^P)
                                                                     (^BM^CONS
                                                                      (^E)
                                                                      (^BM^CONS
                                                                       (^N)
                                                                       (^BM^CONS
                                                                        (^-)
                                                                        (^BM^CONS
                                                                         (^B)
                                                                         (^BM^CONS
                                                                          (^R)
                                                                          (^BM^CONS
                                                                           (^A)
                                                                           (^BM^CONS
                                                                            (^C)
                                                                            (^BM^CONS
                                                                             (^K)
                                                                             (^BM^CONS
                                                                              (^E)
                                                                              (^BM^CONS
                                                                               (^T)
                                                                               (^BM^ZERO))))))))))))))
                                                                  (^INT
                                                                   (^BM^CONS
                                                                    (^9)
                                                                    (^BM^CONS
                                                                     (^1)
                                                                     (^BM^ZERO)))))
                                                                 (^BM^CONS
                                                                  (^BM^CONS
                                                                   (^BM^PACK
                                                                    (^BM^CONS
                                                                     (^B)
                                                                     (^BM^CONS
                                                                      (^A)
                                                                      (^BM^CONS
                                                                       (^C)
                                                                       (^BM^CONS
                                                                        (^K)
                                                                        (^BM^CONS
                                                                         (^S)
                                                                         (^BM^CONS
                                                                          (^L)
                                                                          (^BM^CONS
                                                                           (^A)
                                                                           (^BM^CONS
                                                                            (^S)
                                                                            (^BM^CONS
                                                                             (^H)
                                                                             (^BM^ZERO)))))))))))
                                                                   (^INT
                                                                    (^BM^CONS
                                                                     (^9)
                                                                     (^BM^CONS
                                                                      (^2)
                                                                      (^BM^ZERO)))))
                                                                  (^BM^CONS
                                                                   (^BM^CONS
                                                                    (^BM^PACK
                                                                     (^BM^CONS
                                                                      (^C)
                                                                      (^BM^CONS
                                                                       (^L)
                                                                       (^BM^CONS
                                                                        (^O)
                                                                        (^BM^CONS
                                                                         (^S)
                                                                         (^BM^CONS
                                                                          (^E)
                                                                          (^BM^CONS
                                                                           (^-)
                                                                           (^BM^CONS
                                                                            (^B)
                                                                            (^BM^CONS
                                                                             (^R)
                                                                             (^BM^CONS
                                                                              (^A)
                                                                              (^BM^CONS
                                                                               (^C)
                                                                               (^BM^CONS
                                                                                (^K)
                                                                                (^BM^CONS
                                                                                 (^E)
                                                                                 (^BM^CONS
                                                                                  (^T)
                                                                                  (^BM^ZERO)))))))))))))))
                                                                    (^INT
                                                                     (^BM^CONS
                                                                      (^9)
                                                                      (^BM^CONS
                                                                       (^3)
                                                                       (^BM^ZERO)))))
                                                                   (^BM^CONS
                                                                    (^BM^CONS
                                                                     (^BM^PACK
                                                                      (^BM^CONS
                                                                       (^U)
                                                                       (^BM^CONS
                                                                        (^P)
                                                                        (^BM^CONS
                                                                         (^A)
                                                                         (^BM^CONS
                                                                          (^R)
                                                                          (^BM^CONS
                                                                           (^R)
                                                                           (^BM^CONS
                                                                            (^O)
                                                                            (^BM^CONS
                                                                             (^W)
                                                                             (^BM^ZERO)))))))))
                                                                     (^INT
                                                                      (^BM^CONS
                                                                       (^9)
                                                                       (^BM^CONS
                                                                        (^4)
                                                                        (^BM^ZERO)))))
                                                                    (^BM^CONS
                                                                     (^BM^CONS
                                                                      (^BM^PACK
                                                                       (^BM^CONS
                                                                        (^U)
                                                                        (^BM^CONS
                                                                         (^N)
                                                                         (^BM^CONS
                                                                          (^D)
                                                                          (^BM^CONS
                                                                           (^E)
                                                                           (^BM^CONS
                                                                            (^R)
                                                                            (^BM^CONS
                                                                             (^S)
                                                                             (^BM^CONS
                                                                              (^C)
                                                                              (^BM^CONS
                                                                               (^O)
                                                                               (^BM^CONS
                                                                                (^R)
                                                                                (^BM^CONS
                                                                                 (^E)
                                                                                 (^BM^ZERO))))))))))))
                                                                      (^INT
                                                                       (^BM^CONS
                                                                        (^9)
                                                                        (^BM^CONS
                                                                         (^5)
                                                                         (^BM^ZERO)))))
                                                                     (^BM^CONS
                                                                      (^BM^CONS
                                                                       (^BM^PACK
                                                                        (^BM^CONS
                                                                         (^B)
                                                                         (^BM^CONS
                                                                          (^A)
                                                                          (^BM^CONS
                                                                           (^C)
                                                                           (^BM^CONS
                                                                            (^K)
                                                                            (^BM^CONS
                                                                             (^Q)
                                                                             (^BM^CONS
                                                                              (^U)
                                                                              (^BM^CONS
                                                                               (^O)
                                                                               (^BM^CONS
                                                                                (^T)
                                                                                (^BM^CONS
                                                                                 (^E)
                                                                                 (^BM^ZERO)))))))))))
                                                                       (^INT
                                                                        (^BM^CONS
                                                                         (^9)
                                                                         (^BM^CONS
                                                                          (^6)
                                                                          (^BM^ZERO)))))
                                                                      (^BM^CONS
                                                                       (^BM^CONS
                                                                        (^BM^PACK
                                                                         (^BM^CONS
                                                                          (^L)
                                                                          (^BM^CONS
                                                                           (^O)
                                                                           (^BM^CONS
                                                                            (^W)
                                                                            (^BM^CONS
                                                                             (^E)
                                                                             (^BM^CONS
                                                                              (^R)
                                                                              (^BM^CONS
                                                                               (^-)
                                                                               (^BM^CONS
                                                                                (^A)
                                                                                (^BM^ZERO)))))))))
                                                                        (^INT
                                                                         (^BM^CONS
                                                                          (^9)
                                                                          (^BM^CONS
                                                                           (^7)
                                                                           (^BM^ZERO)))))
                                                                       (^BM^CONS
                                                                        (^BM^CONS
                                                                         (^BM^PACK
                                                                          (^BM^CONS
                                                                           (^L)
                                                                           (^BM^CONS
                                                                            (^O)
                                                                            (^BM^CONS
                                                                             (^W)
                                                                             (^BM^CONS
                                                                              (^E)
                                                                              (^BM^CONS
                                                                               (^R)
                                                                               (^BM^CONS
                                                                                (^-)
                                                                                (^BM^CONS
                                                                                 (^B)
                                                                                 (^BM^ZERO)))))))))
                                                                         (^INT
                                                                          (^BM^CONS
                                                                           (^9)
                                                                           (^BM^CONS
                                                                            (^8)
                                                                            (^BM^ZERO)))))
                                                                        (^BM^CONS
                                                                         (^BM^CONS
                                                                          (^BM^PACK
                                                                           (^BM^CONS
                                                                            (^L)
                                                                            (^BM^CONS
                                                                             (^O)
                                                                             (^BM^CONS
                                                                              (^W)
                                                                              (^BM^CONS
                                                                               (^E)
                                                                               (^BM^CONS
                                                                                (^R)
                                                                                (^BM^CONS
                                                                                 (^-)
                                                                                 (^BM^CONS
                                                                                  (^C)
                                                                                  (^BM^ZERO)))))))))
                                                                          (^INT
                                                                           (^BM^CONS
                                                                            (^9)
                                                                            (^BM^CONS
                                                                             (^9)
                                                                             (^BM^ZERO)))))
                                                                         (^BM^CONS
                                                                          (^BM^CONS
                                                                           (^BM^PACK
                                                                            (^BM^CONS
                                                                             (^L)
                                                                             (^BM^CONS
                                                                              (^O)
                                                                              (^BM^CONS
                                                                               (^W)
                                                                               (^BM^CONS
                                                                                (^E)
                                                                                (^BM^CONS
                                                                                 (^R)
                                                                                 (^BM^CONS
                                                                                  (^-)
                                                                                  (^BM^CONS
                                                                                   (^D)
                                                                                   (^BM^ZERO)))))))))
                                                                           (^INT
                                                                            (^BM^CONS
                                                                             (^1)
                                                                             (^BM^CONS
                                                                              (^0)
                                                                              (^BM^CONS
                                                                               (^0)
                                                                               (^BM^ZERO))))))
                                                                          (^BM^CONS
                                                                           (^BM^CONS
                                                                            (^BM^PACK
                                                                             (^BM^CONS
                                                                              (^L)
                                                                              (^BM^CONS
                                                                               (^O)
                                                                               (^BM^CONS
                                                                                (^W)
                                                                                (^BM^CONS
                                                                                 (^E)
                                                                                 (^BM^CONS
                                                                                  (^R)
                                                                                  (^BM^CONS
                                                                                   (^-)
                                                                                   (^BM^CONS
                                                                                    (^E)
                                                                                    (^BM^ZERO)))))))))
                                                                            (^INT
                                                                             (^BM^CONS
                                                                              (^1)
                                                                              (^BM^CONS
                                                                               (^0)
                                                                               (^BM^CONS
                                                                                (^1)
                                                                                (^BM^ZERO))))))
                                                                           (^BM^CONS
                                                                            (^BM^CONS
                                                                             (^BM^PACK
                                                                              (^BM^CONS
                                                                               (^L)
                                                                               (^BM^CONS
                                                                                (^O)
                                                                                (^BM^CONS
                                                                                 (^W)
                                                                                 (^BM^CONS
                                                                                  (^E)
                                                                                  (^BM^CONS
                                                                                   (^R)
                                                                                   (^BM^CONS
                                                                                    (^-)
                                                                                    (^BM^CONS
                                                                                     (^F)
                                                                                     (^BM^ZERO)))))))))
                                                                             (^INT
                                                                              (^BM^CONS
                                                                               (^1)
                                                                               (^BM^CONS
                                                                                (^0)
                                                                                (^BM^CONS
                                                                                 (^2)
                                                                                 (^BM^ZERO))))))
                                                                            (^BM^CONS
                                                                             (^BM^CONS
                                                                              (^BM^PACK
                                                                               (^BM^CONS
                                                                                (^L)
                                                                                (^BM^CONS
                                                                                 (^O)
                                                                                 (^BM^CONS
                                                                                  (^W)
                                                                                  (^BM^CONS
                                                                                   (^E)
                                                                                   (^BM^CONS
                                                                                    (^R)
                                                                                    (^BM^CONS
                                                                                     (^-)
                                                                                     (^BM^CONS
                                                                                      (^G)
                                                                                      (^BM^ZERO)))))))))
                                                                              (^INT
                                                                               (^BM^CONS
                                                                                (^1)
                                                                                (^BM^CONS
                                                                                 (^0)
                                                                                 (^BM^CONS
                                                                                  (^3)
                                                                                  (^BM^ZERO))))))
                                                                             (^BM^CONS
                                                                              (^BM^CONS
                                                                               (^BM^PACK
                                                                                (^BM^CONS
                                                                                 (^L)
                                                                                 (^BM^CONS
                                                                                  (^O)
                                                                                  (^BM^CONS
                                                                                   (^W)
                                                                                   (^BM^CONS
                                                                                    (^E)
                                                                                    (^BM^CONS
                                                                                     (^R)
                                                                                     (^BM^CONS
                                                                                      (^-)
                                                                                      (^BM^CONS
                                                                                       (^H)
                                                                                       (^BM^ZERO)))))))))
                                                                               (^INT
                                                                                (^BM^CONS
                                                                                 (^1)
                                                                                 (^BM^CONS
                                                                                  (^0)
                                                                                  (^BM^CONS
                                                                                   (^4)
                                                                                   (^BM^ZERO))))))
                                                                              (^BM^CONS
                                                                               (^BM^CONS
                                                                                (^BM^PACK
                                                                                 (^BM^CONS
                                                                                  (^L)
                                                                                  (^BM^CONS
                                                                                   (^O)
                                                                                   (^BM^CONS
                                                                                    (^W)
                                                                                    (^BM^CONS
                                                                                     (^E)
                                                                                     (^BM^CONS
                                                                                      (^R)
                                                                                      (^BM^CONS
                                                                                       (^-)
                                                                                       (^BM^CONS
                                                                                        (^I)
                                                                                        (^BM^ZERO)))))))))
                                                                                (^INT
                                                                                 (^BM^CONS
                                                                                  (^1)
                                                                                  (^BM^CONS
                                                                                   (^0)
                                                                                   (^BM^CONS
                                                                                    (^5)
                                                                                    (^BM^ZERO))))))
                                                                               (^BM^CONS
                                                                                (^BM^CONS
                                                                                 (^BM^PACK
                                                                                  (^BM^CONS
                                                                                   (^L)
                                                                                   (^BM^CONS
                                                                                    (^O)
                                                                                    (^BM^CONS
                                                                                     (^W)
                                                                                     (^BM^CONS
                                                                                      (^E)
                                                                                      (^BM^CONS
                                                                                       (^R)
                                                                                       (^BM^CONS
                                                                                        (^-)
                                                                                        (^BM^CONS
                                                                                         (^J)
                                                                                         (^BM^ZERO)))))))))
                                                                                 (^INT
                                                                                  (^BM^CONS
                                                                                   (^1)
                                                                                   (^BM^CONS
                                                                                    (^0)
                                                                                    (^BM^CONS
                                                                                     (^6)
                                                                                     (^BM^ZERO))))))
                                                                                (^BM^CONS
                                                                                 (^BM^CONS
                                                                                  (^BM^PACK
                                                                                   (^BM^CONS
                                                                                    (^L)
                                                                                    (^BM^CONS
                                                                                     (^O)
                                                                                     (^BM^CONS
                                                                                      (^W)
                                                                                      (^BM^CONS
                                                                                       (^E)
                                                                                       (^BM^CONS
                                                                                        (^R)
                                                                                        (^BM^CONS
                                                                                         (^-)
                                                                                         (^BM^CONS
                                                                                          (^K)
                                                                                          (^BM^ZERO)))))))))
                                                                                  (^INT
                                                                                   (^BM^CONS
                                                                                    (^1)
                                                                                    (^BM^CONS
                                                                                     (^0)
                                                                                     (^BM^CONS
                                                                                      (^7)
                                                                                      (^BM^ZERO))))))
                                                                                 (^BM^CONS
                                                                                  (^BM^CONS
                                                                                   (^BM^PACK
                                                                                    (^BM^CONS
                                                                                     (^L)
                                                                                     (^BM^CONS
                                                                                      (^O)
                                                                                      (^BM^CONS
                                                                                       (^W)
                                                                                       (^BM^CONS
                                                                                        (^E)
                                                                                        (^BM^CONS
                                                                                         (^R)
                                                                                         (^BM^CONS
                                                                                          (^-)
                                                                                          (^BM^CONS
                                                                                           (^L)
                                                                                           (^BM^ZERO)))))))))
                                                                                   (^INT
                                                                                    (^BM^CONS
                                                                                     (^1)
                                                                                     (^BM^CONS
                                                                                      (^0)
                                                                                      (^BM^CONS
                                                                                       (^8)
                                                                                       (^BM^ZERO))))))
                                                                                  (^BM^CONS
                                                                                   (^BM^CONS
                                                                                    (^BM^PACK
                                                                                     (^BM^CONS
                                                                                      (^L)
                                                                                      (^BM^CONS
                                                                                       (^O)
                                                                                       (^BM^CONS
                                                                                        (^W)
                                                                                        (^BM^CONS
                                                                                         (^E)
                                                                                         (^BM^CONS
                                                                                          (^R)
                                                                                          (^BM^CONS
                                                                                           (^-)
                                                                                           (^BM^CONS
                                                                                            (^M)
                                                                                            (^BM^ZERO)))))))))
                                                                                    (^INT
                                                                                     (^BM^CONS
                                                                                      (^1)
                                                                                      (^BM^CONS
                                                                                       (^0)
                                                                                       (^BM^CONS
                                                                                        (^9)
                                                                                        (^BM^ZERO))))))
                                                                                   (^BM^CONS
                                                                                    (^BM^CONS
                                                                                     (^BM^PACK
                                                                                      (^BM^CONS
                                                                                       (^L)
                                                                                       (^BM^CONS
                                                                                        (^O)
                                                                                        (^BM^CONS
                                                                                         (^W)
                                                                                         (^BM^CONS
                                                                                          (^E)
                                                                                          (^BM^CONS
                                                                                           (^R)
                                                                                           (^BM^CONS
                                                                                            (^-)
                                                                                            (^BM^CONS
                                                                                             (^N)
                                                                                             (^BM^ZERO)))))))))
                                                                                     (^INT
                                                                                      (^BM^CONS
                                                                                       (^1)
                                                                                       (^BM^CONS
                                                                                        (^1)
                                                                                        (^BM^CONS
                                                                                         (^0)
                                                                                         (^BM^ZERO))))))
                                                                                    (^BM^CONS
                                                                                     (^BM^CONS
                                                                                      (^BM^PACK
                                                                                       (^BM^CONS
                                                                                        (^L)
                                                                                        (^BM^CONS
                                                                                         (^O)
                                                                                         (^BM^CONS
                                                                                          (^W)
                                                                                          (^BM^CONS
                                                                                           (^E)
                                                                                           (^BM^CONS
                                                                                            (^R)
                                                                                            (^BM^CONS
                                                                                             (^-)
                                                                                             (^BM^CONS
                                                                                              (^O)
                                                                                              (^BM^ZERO)))))))))
                                                                                      (^INT
                                                                                       (^BM^CONS
                                                                                        (^1)
                                                                                        (^BM^CONS
                                                                                         (^1)
                                                                                         (^BM^CONS
                                                                                          (^1)
                                                                                          (^BM^ZERO))))))
                                                                                     (^BM^CONS
                                                                                      (^BM^CONS
                                                                                       (^BM^PACK
                                                                                        (^BM^CONS
                                                                                         (^L)
                                                                                         (^BM^CONS
                                                                                          (^O)
                                                                                          (^BM^CONS
                                                                                           (^W)
                                                                                           (^BM^CONS
                                                                                            (^E)
                                                                                            (^BM^CONS
                                                                                             (^R)
                                                                                             (^BM^CONS
                                                                                              (^-)
                                                                                              (^BM^CONS
                                                                                               (^P)
                                                                                               (^BM^ZERO)))))))))
                                                                                       (^INT
                                                                                        (^BM^CONS
                                                                                         (^1)
                                                                                         (^BM^CONS
                                                                                          (^1)
                                                                                          (^BM^CONS
                                                                                           (^2)
                                                                                           (^BM^ZERO))))))
                                                                                      (^BM^CONS
                                                                                       (^BM^CONS
                                                                                        (^BM^PACK
                                                                                         (^BM^CONS
                                                                                          (^L)
                                                                                          (^BM^CONS
                                                                                           (^O)
                                                                                           (^BM^CONS
                                                                                            (^W)
                                                                                            (^BM^CONS
                                                                                             (^E)
                                                                                             (^BM^CONS
                                                                                              (^R)
                                                                                              (^BM^CONS
                                                                                               (^-)
                                                                                               (^BM^CONS
                                                                                                (^Q)
                                                                                                (^BM^ZERO)))))))))
                                                                                        (^INT
                                                                                         (^BM^CONS
                                                                                          (^1)
                                                                                          (^BM^CONS
                                                                                           (^1)
                                                                                           (^BM^CONS
                                                                                            (^3)
                                                                                            (^BM^ZERO))))))
                                                                                       (^BM^CONS
                                                                                        (^BM^CONS
                                                                                         (^BM^PACK
                                                                                          (^BM^CONS
                                                                                           (^L)
                                                                                           (^BM^CONS
                                                                                            (^O)
                                                                                            (^BM^CONS
                                                                                             (^W)
                                                                                             (^BM^CONS
                                                                                              (^E)
                                                                                              (^BM^CONS
                                                                                               (^R)
                                                                                               (^BM^CONS
                                                                                                (^-)
                                                                                                (^BM^CONS
                                                                                                 (^R)
                                                                                                 (^BM^ZERO)))))))))
                                                                                         (^INT
                                                                                          (^BM^CONS
                                                                                           (^1)
                                                                                           (^BM^CONS
                                                                                            (^1)
                                                                                            (^BM^CONS
                                                                                             (^4)
                                                                                             (^BM^ZERO))))))
                                                                                        (^BM^CONS
                                                                                         (^BM^CONS
                                                                                          (^BM^PACK
                                                                                           (^BM^CONS
                                                                                            (^L)
                                                                                            (^BM^CONS
                                                                                             (^O)
                                                                                             (^BM^CONS
                                                                                              (^W)
                                                                                              (^BM^CONS
                                                                                               (^E)
                                                                                               (^BM^CONS
                                                                                                (^R)
                                                                                                (^BM^CONS
                                                                                                 (^-)
                                                                                                 (^BM^CONS
                                                                                                  (^S)
                                                                                                  (^BM^ZERO)))))))))
                                                                                          (^INT
                                                                                           (^BM^CONS
                                                                                            (^1)
                                                                                            (^BM^CONS
                                                                                             (^1)
                                                                                             (^BM^CONS
                                                                                              (^5)
                                                                                              (^BM^ZERO))))))
                                                                                         (^BM^CONS
                                                                                          (^BM^CONS
                                                                                           (^BM^PACK
                                                                                            (^BM^CONS
                                                                                             (^L)
                                                                                             (^BM^CONS
                                                                                              (^O)
                                                                                              (^BM^CONS
                                                                                               (^W)
                                                                                               (^BM^CONS
                                                                                                (^E)
                                                                                                (^BM^CONS
                                                                                                 (^R)
                                                                                                 (^BM^CONS
                                                                                                  (^-)
                                                                                                  (^BM^CONS
                                                                                                   (^T)
                                                                                                   (^BM^ZERO)))))))))
                                                                                           (^INT
                                                                                            (^BM^CONS
                                                                                             (^1)
                                                                                             (^BM^CONS
                                                                                              (^1)
                                                                                              (^BM^CONS
                                                                                               (^6)
                                                                                               (^BM^ZERO))))))
                                                                                          (^BM^CONS
                                                                                           (^BM^CONS
                                                                                            (^BM^PACK
                                                                                             (^BM^CONS
                                                                                              (^L)
                                                                                              (^BM^CONS
                                                                                               (^O)
                                                                                               (^BM^CONS
                                                                                                (^W)
                                                                                                (^BM^CONS
                                                                                                 (^E)
                                                                                                 (^BM^CONS
                                                                                                  (^R)
                                                                                                  (^BM^CONS
                                                                                                   (^-)
                                                                                                   (^BM^CONS
                                                                                                    (^U)
                                                                                                    (^BM^ZERO)))))))))
                                                                                            (^INT
                                                                                             (^BM^CONS
                                                                                              (^1)
                                                                                              (^BM^CONS
                                                                                               (^1)
                                                                                               (^BM^CONS
                                                                                                (^7)
                                                                                                (^BM^ZERO))))))
                                                                                           (^BM^CONS
                                                                                            (^BM^CONS
                                                                                             (^BM^PACK
                                                                                              (^BM^CONS
                                                                                               (^L)
                                                                                               (^BM^CONS
                                                                                                (^O)
                                                                                                (^BM^CONS
                                                                                                 (^W)
                                                                                                 (^BM^CONS
                                                                                                  (^E)
                                                                                                  (^BM^CONS
                                                                                                   (^R)
                                                                                                   (^BM^CONS
                                                                                                    (^-)
                                                                                                    (^BM^CONS
                                                                                                     (^V)
                                                                                                     (^BM^ZERO)))))))))
                                                                                             (^INT
                                                                                              (^BM^CONS
                                                                                               (^1)
                                                                                               (^BM^CONS
                                                                                                (^1)
                                                                                                (^BM^CONS
                                                                                                 (^8)
                                                                                                 (^BM^ZERO))))))
                                                                                            (^BM^CONS
                                                                                             (^BM^CONS
                                                                                              (^BM^PACK
                                                                                               (^BM^CONS
                                                                                                (^L)
                                                                                                (^BM^CONS
                                                                                                 (^O)
                                                                                                 (^BM^CONS
                                                                                                  (^W)
                                                                                                  (^BM^CONS
                                                                                                   (^E)
                                                                                                   (^BM^CONS
                                                                                                    (^R)
                                                                                                    (^BM^CONS
                                                                                                     (^-)
                                                                                                     (^BM^CONS
                                                                                                      (^W)
                                                                                                      (^BM^ZERO)))))))))
                                                                                              (^INT
                                                                                               (^BM^CONS
                                                                                                (^1)
                                                                                                (^BM^CONS
                                                                                                 (^1)
                                                                                                 (^BM^CONS
                                                                                                  (^9)
                                                                                                  (^BM^ZERO))))))
                                                                                             (^BM^CONS
                                                                                              (^BM^CONS
                                                                                               (^BM^PACK
                                                                                                (^BM^CONS
                                                                                                 (^L)
                                                                                                 (^BM^CONS
                                                                                                  (^O)
                                                                                                  (^BM^CONS
                                                                                                   (^W)
                                                                                                   (^BM^CONS
                                                                                                    (^E)
                                                                                                    (^BM^CONS
                                                                                                     (^R)
                                                                                                     (^BM^CONS
                                                                                                      (^-)
                                                                                                      (^BM^CONS
                                                                                                       (^X)
                                                                                                       (^BM^ZERO)))))))))
                                                                                               (^INT
                                                                                                (^BM^CONS
                                                                                                 (^1)
                                                                                                 (^BM^CONS
                                                                                                  (^2)
                                                                                                  (^BM^CONS
                                                                                                   (^0)
                                                                                                   (^BM^ZERO))))))
                                                                                              (^BM^CONS
                                                                                               (^BM^CONS
                                                                                                (^BM^PACK
                                                                                                 (^BM^CONS
                                                                                                  (^L)
                                                                                                  (^BM^CONS
                                                                                                   (^O)
                                                                                                   (^BM^CONS
                                                                                                    (^W)
                                                                                                    (^BM^CONS
                                                                                                     (^E)
                                                                                                     (^BM^CONS
                                                                                                      (^R)
                                                                                                      (^BM^CONS
                                                                                                       (^-)
                                                                                                       (^BM^CONS
                                                                                                        (^Y)
                                                                                                        (^BM^ZERO)))))))))
                                                                                                (^INT
                                                                                                 (^BM^CONS
                                                                                                  (^1)
                                                                                                  (^BM^CONS
                                                                                                   (^2)
                                                                                                   (^BM^CONS
                                                                                                    (^1)
                                                                                                    (^BM^ZERO))))))
                                                                                               (^BM^CONS
                                                                                                (^BM^CONS
                                                                                                 (^BM^PACK
                                                                                                  (^BM^CONS
                                                                                                   (^L)
                                                                                                   (^BM^CONS
                                                                                                    (^O)
                                                                                                    (^BM^CONS
                                                                                                     (^W)
                                                                                                     (^BM^CONS
                                                                                                      (^E)
                                                                                                      (^BM^CONS
                                                                                                       (^R)
                                                                                                       (^BM^CONS
                                                                                                        (^-)
                                                                                                        (^BM^CONS
                                                                                                         (^Z)
                                                                                                         (^BM^ZERO)))))))))
                                                                                                 (^INT
                                                                                                  (^BM^CONS
                                                                                                   (^1)
                                                                                                   (^BM^CONS
                                                                                                    (^2)
                                                                                                    (^BM^CONS
                                                                                                     (^2)
                                                                                                     (^BM^ZERO))))))
                                                                                                (^BM^CONS
                                                                                                 (^BM^CONS
                                                                                                  (^BM^PACK
                                                                                                   (^BM^CONS
                                                                                                    (^O)
                                                                                                    (^BM^CONS
                                                                                                     (^P)
                                                                                                     (^BM^CONS
                                                                                                      (^E)
                                                                                                      (^BM^CONS
                                                                                                       (^N)
                                                                                                       (^BM^CONS
                                                                                                        (^-)
                                                                                                        (^BM^CONS
                                                                                                         (^B)
                                                                                                         (^BM^CONS
                                                                                                          (^R)
                                                                                                          (^BM^CONS
                                                                                                           (^A)
                                                                                                           (^BM^CONS
                                                                                                            (^C)
                                                                                                            (^BM^CONS
                                                                                                             (^E)
                                                                                                             (^BM^ZERO))))))))))))
                                                                                                  (^INT
                                                                                                   (^BM^CONS
                                                                                                    (^1)
                                                                                                    (^BM^CONS
                                                                                                     (^2)
                                                                                                     (^BM^CONS
                                                                                                      (^3)
                                                                                                      (^BM^ZERO))))))
                                                                                                 (^BM^CONS
                                                                                                  (^BM^CONS
                                                                                                   (^BM^PACK
                                                                                                    (^BM^CONS
                                                                                                     (^V)
                                                                                                     (^BM^CONS
                                                                                                      (^E)
                                                                                                      (^BM^CONS
                                                                                                       (^R)
                                                                                                       (^BM^CONS
                                                                                                        (^T)
                                                                                                        (^BM^CONS
                                                                                                         (^I)
                                                                                                         (^BM^CONS
                                                                                                          (^C)
                                                                                                          (^BM^CONS
                                                                                                           (^A)
                                                                                                           (^BM^CONS
                                                                                                            (^L)
                                                                                                            (^BM^CONS
                                                                                                             (^-)
                                                                                                             (^BM^CONS
                                                                                                              (^B)
                                                                                                              (^BM^CONS
                                                                                                               (^A)
                                                                                                               (^BM^CONS
                                                                                                                (^R)
                                                                                                                (^BM^ZERO))))))))))))))
                                                                                                   (^INT
                                                                                                    (^BM^CONS
                                                                                                     (^1)
                                                                                                     (^BM^CONS
                                                                                                      (^2)
                                                                                                      (^BM^CONS
                                                                                                       (^4)
                                                                                                       (^BM^ZERO))))))
                                                                                                  (^BM^CONS
                                                                                                   (^BM^CONS
                                                                                                    (^BM^PACK
                                                                                                     (^BM^CONS
                                                                                                      (^C)
                                                                                                      (^BM^CONS
                                                                                                       (^L)
                                                                                                       (^BM^CONS
                                                                                                        (^O)
                                                                                                        (^BM^CONS
                                                                                                         (^S)
                                                                                                         (^BM^CONS
                                                                                                          (^E)
                                                                                                          (^BM^CONS
                                                                                                           (^-)
                                                                                                           (^BM^CONS
                                                                                                            (^B)
                                                                                                            (^BM^CONS
                                                                                                             (^R)
                                                                                                             (^BM^CONS
                                                                                                              (^A)
                                                                                                              (^BM^CONS
                                                                                                               (^C)
                                                                                                               (^BM^CONS
                                                                                                                (^E)
                                                                                                                (^BM^ZERO)))))))))))))
                                                                                                    (^INT
                                                                                                     (^BM^CONS
                                                                                                      (^1)
                                                                                                      (^BM^CONS
                                                                                                       (^2)
                                                                                                       (^BM^CONS
                                                                                                        (^5)
                                                                                                        (^BM^ZERO))))))
                                                                                                   (^BM^CONS
                                                                                                    (^BM^CONS
                                                                                                     (^BM^PACK
                                                                                                      (^BM^CONS
                                                                                                       (^T)
                                                                                                       (^BM^CONS
                                                                                                        (^I)
                                                                                                        (^BM^CONS
                                                                                                         (^L)
                                                                                                         (^BM^CONS
                                                                                                          (^D)
                                                                                                          (^BM^CONS
                                                                                                           (^E)
                                                                                                           (^BM^ZERO)))))))
                                                                                                     (^INT
                                                                                                      (^BM^CONS
                                                                                                       (^1)
                                                                                                       (^BM^CONS
                                                                                                        (^2)
                                                                                                        (^BM^CONS
                                                                                                         (^6)
                                                                                                         (^BM^ZERO))))))
                                                                                                    (^BM^PACK
                                                                                                     (^BM^CONS
                                                                                                      (^N)
                                                                                                      (^BM^CONS
                                                                                                       (^I)
                                                                                                       (^BM^CONS
                                                                                                        (^L)
                                                                                                        (^BM^ZERO)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

(DEFINE (^BM^ASCII-LIST LST)
 (IF (^BM^NLISTP LST)
     (^NIL)
     (^BM^CONS (^BM^CDR (^BM^ASSOC (^BM^CAR LST) (^BM^ASCII-TABLE)))
      (^BM^ASCII-LIST (^BM^CDR LST)))))

(DEFINE (^BM^ASCII X)
 (IF (^BM^LITATOM X)
     (^BM^CDR (^BM^ASSOC X (^BM^ASCII-TABLE)))
     (^BM^ASCII-LIST X)))

(DEFINE (^BM^UPPER-DIGITS)
 (^BM^ASCII
  (^BM^CONS
   (^BM^PACK
    (^BM^CONS (^D)
     (^BM^CONS (^I)
      (^BM^CONS (^G)
       (^BM^CONS (^I)
        (^BM^CONS (^T)
         (^BM^CONS (^-)
          (^BM^CONS (^Z)
           (^BM^CONS (^E) (^BM^CONS (^R) (^BM^CONS (^O) (^BM^ZERO))))))))))))
   (^BM^CONS
    (^BM^PACK
     (^BM^CONS (^D)
      (^BM^CONS (^I)
       (^BM^CONS (^G)
        (^BM^CONS (^I)
         (^BM^CONS (^T)
          (^BM^CONS (^-)
           (^BM^CONS (^O) (^BM^CONS (^N) (^BM^CONS (^E) (^BM^ZERO)))))))))))
    (^BM^CONS
     (^BM^PACK
      (^BM^CONS (^D)
       (^BM^CONS (^I)
        (^BM^CONS (^G)
         (^BM^CONS (^I)
          (^BM^CONS (^T)
           (^BM^CONS (^-)
            (^BM^CONS (^T) (^BM^CONS (^W) (^BM^CONS (^O) (^BM^ZERO)))))))))))
     (^BM^CONS
      (^BM^PACK
       (^BM^CONS (^D)
        (^BM^CONS (^I)
         (^BM^CONS (^G)
          (^BM^CONS (^I)
           (^BM^CONS (^T)
            (^BM^CONS (^-)
             (^BM^CONS (^T)
              (^BM^CONS (^H)
               (^BM^CONS (^R)
                (^BM^CONS (^E) (^BM^CONS (^E) (^BM^ZERO)))))))))))))
      (^BM^CONS
       (^BM^PACK
        (^BM^CONS (^D)
         (^BM^CONS (^I)
          (^BM^CONS (^G)
           (^BM^CONS (^I)
            (^BM^CONS (^T)
             (^BM^CONS (^-)
              (^BM^CONS (^F)
               (^BM^CONS (^O)
                (^BM^CONS (^U) (^BM^CONS (^R) (^BM^ZERO))))))))))))
       (^BM^CONS
        (^BM^PACK
         (^BM^CONS (^D)
          (^BM^CONS (^I)
           (^BM^CONS (^G)
            (^BM^CONS (^I)
             (^BM^CONS (^T)
              (^BM^CONS (^-)
               (^BM^CONS (^F)
                (^BM^CONS (^I)
                 (^BM^CONS (^V) (^BM^CONS (^E) (^BM^ZERO))))))))))))
        (^BM^CONS
         (^BM^PACK
          (^BM^CONS (^D)
           (^BM^CONS (^I)
            (^BM^CONS (^G)
             (^BM^CONS (^I)
              (^BM^CONS (^T)
               (^BM^CONS (^-)
                (^BM^CONS (^S)
                 (^BM^CONS (^I) (^BM^CONS (^X) (^BM^ZERO)))))))))))
         (^BM^CONS
          (^BM^PACK
           (^BM^CONS (^D)
            (^BM^CONS (^I)
             (^BM^CONS (^G)
              (^BM^CONS (^I)
               (^BM^CONS (^T)
                (^BM^CONS (^-)
                 (^BM^CONS (^S)
                  (^BM^CONS (^E)
                   (^BM^CONS (^V)
                    (^BM^CONS (^E) (^BM^CONS (^N) (^BM^ZERO)))))))))))))
          (^BM^CONS
           (^BM^PACK
            (^BM^CONS (^D)
             (^BM^CONS (^I)
              (^BM^CONS (^G)
               (^BM^CONS (^I)
                (^BM^CONS (^T)
                 (^BM^CONS (^-)
                  (^BM^CONS (^E)
                   (^BM^CONS (^I)
                    (^BM^CONS (^G)
                     (^BM^CONS (^H) (^BM^CONS (^T) (^BM^ZERO)))))))))))))
           (^BM^CONS
            (^BM^PACK
             (^BM^CONS (^D)
              (^BM^CONS (^I)
               (^BM^CONS (^G)
                (^BM^CONS (^I)
                 (^BM^CONS (^T)
                  (^BM^CONS (^-)
                   (^BM^CONS (^N)
                    (^BM^CONS (^I)
                     (^BM^CONS (^N) (^BM^CONS (^E) (^BM^ZERO))))))))))))
            (^BM^CONS
             (^BM^PACK
              (^BM^CONS (^U)
               (^BM^CONS (^P)
                (^BM^CONS (^P)
                 (^BM^CONS (^E)
                  (^BM^CONS (^R)
                   (^BM^CONS (^-) (^BM^CONS (^A) (^BM^ZERO)))))))))
             (^BM^CONS
              (^BM^PACK
               (^BM^CONS (^U)
                (^BM^CONS (^P)
                 (^BM^CONS (^P)
                  (^BM^CONS (^E)
                   (^BM^CONS (^R)
                    (^BM^CONS (^-) (^BM^CONS (^B) (^BM^ZERO)))))))))
              (^BM^CONS
               (^BM^PACK
                (^BM^CONS (^U)
                 (^BM^CONS (^P)
                  (^BM^CONS (^P)
                   (^BM^CONS (^E)
                    (^BM^CONS (^R)
                     (^BM^CONS (^-) (^BM^CONS (^C) (^BM^ZERO)))))))))
               (^BM^CONS
                (^BM^PACK
                 (^BM^CONS (^U)
                  (^BM^CONS (^P)
                   (^BM^CONS (^P)
                    (^BM^CONS (^E)
                     (^BM^CONS (^R)
                      (^BM^CONS (^-) (^BM^CONS (^D) (^BM^ZERO)))))))))
                (^BM^CONS
                 (^BM^PACK
                  (^BM^CONS (^U)
                   (^BM^CONS (^P)
                    (^BM^CONS (^P)
                     (^BM^CONS (^E)
                      (^BM^CONS (^R)
                       (^BM^CONS (^-) (^BM^CONS (^E) (^BM^ZERO)))))))))
                 (^BM^CONS
                  (^BM^PACK
                   (^BM^CONS (^U)
                    (^BM^CONS (^P)
                     (^BM^CONS (^P)
                      (^BM^CONS (^E)
                       (^BM^CONS (^R)
                        (^BM^CONS (^-) (^BM^CONS (^F) (^BM^ZERO)))))))))
                  (^BM^PACK
                   (^BM^CONS (^N)
                    (^BM^CONS (^I)
                     (^BM^CONS (^L) (^BM^ZERO)))))))))))))))))))))))

(DEFINE (^BM^CDRN N LST)
 (IF (^BM^ZEROP N) LST (^BM^CDRN (^BM^SUB1 N) (^BM^CDR LST))))

(DEFINE (^BM^CADRN N LST) (^BM^CAR (^BM^CDRN N LST)))

(DEFINE (^BM^LIST1 X) (^BM^CONS X (^NIL)))

(DEFINE (^BM^LIST2 X Y) (^BM^CONS X (^BM^LIST1 Y)))

(DEFINE (^BM^LIST3 X Y Z) (^BM^CONS X (^BM^LIST2 Y Z)))

(DEFINE (^BM^FIRST-N N LST)
 (IF (^BM^ZEROP N)
     (^NIL)
     (^BM^CONS (^BM^CAR LST) (^BM^FIRST-N (^BM^SUB1 N) (^BM^CDR LST)))))

(DEFINE (^BM^BASE-N-DIGIT-CHARACTER N C)
 (^BM^AND (^BM^LEQ N (^INT (^BM^CONS (^1) (^BM^CONS (^6) (^BM^ZERO)))))
  (^BM^MEMBER C (^BM^FIRST-N N (^BM^UPPER-DIGITS)))))

(DEFINE (^BM^POSITION X LST)
 (IF (^BM^NLISTP LST)
     (^INT (^BM^ZERO))
     (IF (EQUAL X (^BM^CAR LST))
         (^INT (^BM^ZERO))
         (^BM^ADD1 (^BM^POSITION X (^BM^CDR LST))))))

(DEFINE (^BM^BASE-N-DIGIT-VALUE C) (^BM^POSITION C (^BM^UPPER-DIGITS)))

(DEFINE (^BM^ALL-BASE-N-DIGIT-CHARACTERS N LST)
 (IF (^BM^NLISTP LST)
     (^BM^TRUE)
     (^BM^AND (^BM^BASE-N-DIGIT-CHARACTER N (^BM^CAR LST))
      (^BM^ALL-BASE-N-DIGIT-CHARACTERS N (^BM^CDR LST)))))

(DEFINE (^BM^BASE-N-DIGIT-SEQUENCE N LST)
 (^BM^AND (^BM^LISTP LST) (^BM^ALL-BASE-N-DIGIT-CHARACTERS N LST)))

(DEFINE (^BM^OPTIONALLY-SIGNED-BASE-N-DIGIT-SEQUENCE N LST)
 (^BM^OR (^BM^BASE-N-DIGIT-SEQUENCE N LST)
  (^BM^AND (^BM^LISTP LST)
   (^BM^AND
    (^BM^OR
     (EQUAL (^BM^CAR LST)
            (^BM^ASCII
             (^BM^PACK
              (^BM^CONS (^P)
               (^BM^CONS (^L)
                (^BM^CONS (^U)
                 (^BM^CONS (^S)
                  (^BM^CONS (^-)
                   (^BM^CONS (^S)
                    (^BM^CONS (^I)
                     (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO)))))))))))))
     (EQUAL (^BM^CAR LST)
            (^BM^ASCII
             (^BM^PACK
              (^BM^CONS (^M)
               (^BM^CONS (^I)
                (^BM^CONS (^N)
                 (^BM^CONS (^U)
                  (^BM^CONS (^S)
                   (^BM^CONS (^-)
                    (^BM^CONS (^S)
                     (^BM^CONS (^I)
                      (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO)))))))))))))))
    (^BM^BASE-N-DIGIT-SEQUENCE N (^BM^CDR LST))))))

(DEFINE (^BM^LENGTH LST)
 (IF (^BM^NLISTP LST) (^INT (^BM^ZERO)) (^BM^ADD1 (^BM^LENGTH (^BM^CDR LST)))))

(DEFINE (^BM^EXP I J)
 (IF (^BM^ZEROP J)
     (^INT (^BM^CONS (^1) (^BM^ZERO)))
     (^BM^TIMES I (^BM^EXP I (^BM^SUB1 J)))))

(DEFINE (^BM^BASE-N-VALUE N LST)
 (IF (^BM^NLISTP LST)
     (^INT (^BM^ZERO))
     (^BM^PLUS
      (^BM^TIMES (^BM^BASE-N-DIGIT-VALUE (^BM^CAR LST))
       (^BM^EXP N (^BM^LENGTH (^BM^CDR LST))))
      (^BM^BASE-N-VALUE N (^BM^CDR LST)))))

(DEFINE (^BM^NUMERATOR-SEQUENCE LST)
 (IF (^BM^NLISTP LST)
     (^NIL)
     (IF (EQUAL (^BM^CAR LST)
                (^BM^ASCII
                 (^BM^PACK
                  (^BM^CONS (^S)
                   (^BM^CONS (^L)
                    (^BM^CONS (^A)
                     (^BM^CONS (^S) (^BM^CONS (^H) (^BM^ZERO)))))))))
         (^NIL)
         (^BM^CONS (^BM^CAR LST) (^BM^NUMERATOR-SEQUENCE (^BM^CDR LST))))))

(DEFINE (^BM^DENOMINATOR-SEQUENCE LST)
 (IF (^BM^NLISTP LST)
     (^NIL)
     (IF (EQUAL (^BM^CAR LST)
                (^BM^ASCII
                 (^BM^PACK
                  (^BM^CONS (^S)
                   (^BM^CONS (^L)
                    (^BM^CONS (^A)
                     (^BM^CONS (^S) (^BM^CONS (^H) (^BM^ZERO)))))))))
         (^BM^CDR LST)
         (^BM^DENOMINATOR-SEQUENCE (^BM^CDR LST)))))

(DEFINE (^BM^BASE-N-SIGNED-VALUE N LST)
 (IF (EQUAL (^BM^CAR LST)
            (^BM^ASCII
             (^BM^PACK
              (^BM^CONS (^M)
               (^BM^CONS (^I)
                (^BM^CONS (^N)
                 (^BM^CONS (^U)
                  (^BM^CONS (^S)
                   (^BM^CONS (^-)
                    (^BM^CONS (^S)
                     (^BM^CONS (^I)
                      (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO))))))))))))))
     (^BM^MINUS (^BM^BASE-N-VALUE N (^BM^CDR LST)))
     (IF (EQUAL (^BM^CAR LST)
                (^BM^ASCII
                 (^BM^PACK
                  (^BM^CONS (^P)
                   (^BM^CONS (^L)
                    (^BM^CONS (^U)
                     (^BM^CONS (^S)
                      (^BM^CONS (^-)
                       (^BM^CONS (^S)
                        (^BM^CONS (^I)
                         (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO)))))))))))))
         (^BM^BASE-N-VALUE N (^BM^CDR LST))
         (^BM^BASE-N-VALUE N LST))))

(DEFINE (^BM^NUMBER-SIGN-SEQUENCE LST)
 (^BM^AND (^BM^GEQ (^BM^LENGTH LST) (^INT (^BM^CONS (^3) (^BM^ZERO))))
  (^BM^AND
   (EQUAL (^BM^CAR LST)
          (^BM^ASCII
           (^BM^PACK
            (^BM^CONS (^N)
             (^BM^CONS (^U)
              (^BM^CONS (^M)
               (^BM^CONS (^B)
                (^BM^CONS (^E)
                 (^BM^CONS (^R)
                  (^BM^CONS (^-)
                   (^BM^CONS (^S)
                    (^BM^CONS (^I)
                     (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO)))))))))))))))
   (^BM^AND
    (^BM^MEMBER (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) LST)
     (^BM^ASCII
      (^BM^CONS
       (^BM^PACK
        (^BM^CONS (^U)
         (^BM^CONS (^P)
          (^BM^CONS (^P)
           (^BM^CONS (^E)
            (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^B) (^BM^ZERO)))))))))
       (^BM^CONS
        (^BM^PACK
         (^BM^CONS (^U)
          (^BM^CONS (^P)
           (^BM^CONS (^P)
            (^BM^CONS (^E)
             (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^O) (^BM^ZERO)))))))))
        (^BM^CONS
         (^BM^PACK
          (^BM^CONS (^U)
           (^BM^CONS (^P)
            (^BM^CONS (^P)
             (^BM^CONS (^E)
              (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^X) (^BM^ZERO)))))))))
         (^BM^PACK
          (^BM^CONS (^N) (^BM^CONS (^I) (^BM^CONS (^L) (^BM^ZERO))))))))))
    (^BM^OPTIONALLY-SIGNED-BASE-N-DIGIT-SEQUENCE
     (IF (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) LST)
                (^BM^ASCII
                 (^BM^PACK
                  (^BM^CONS (^U)
                   (^BM^CONS (^P)
                    (^BM^CONS (^P)
                     (^BM^CONS (^E)
                      (^BM^CONS (^R)
                       (^BM^CONS (^-) (^BM^CONS (^B) (^BM^ZERO)))))))))))
         (^INT (^BM^CONS (^2) (^BM^ZERO)))
         (IF (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) LST)
                    (^BM^ASCII
                     (^BM^PACK
                      (^BM^CONS (^U)
                       (^BM^CONS (^P)
                        (^BM^CONS (^P)
                         (^BM^CONS (^E)
                          (^BM^CONS (^R)
                           (^BM^CONS (^-) (^BM^CONS (^O) (^BM^ZERO)))))))))))
             (^INT (^BM^CONS (^8) (^BM^ZERO)))
             (^INT (^BM^CONS (^1) (^BM^CONS (^6) (^BM^ZERO))))))
     (^BM^CDR (^BM^CDR LST)))))))

(DEFINE (^BM^LAST LST)
 (IF (^BM^NLISTP LST)
     LST
     (IF (^BM^NLISTP (^BM^CDR LST)) LST (^BM^LAST (^BM^CDR LST)))))

(DEFINE (^BM^ALL-BUT-LAST LST)
 (IF (^BM^NLISTP LST)
     (^NIL)
     (IF (^BM^NLISTP (^BM^CDR LST))
         (^NIL)
         (^BM^CONS (^BM^CAR LST) (^BM^ALL-BUT-LAST (^BM^CDR LST))))))

(DEFINE (^BM^NUMERIC-SEQUENCE LST)
 (^BM^OR
  (^BM^OPTIONALLY-SIGNED-BASE-N-DIGIT-SEQUENCE
   (^INT (^BM^CONS (^1) (^BM^CONS (^0) (^BM^ZERO)))) LST)
  (^BM^OR
   (^BM^AND
    (EQUAL (^BM^CAR (^BM^LAST LST))
           (^BM^ASCII
            (^BM^PACK
             (^BM^CONS (^D) (^BM^CONS (^O) (^BM^CONS (^T) (^BM^ZERO)))))))
    (^BM^OPTIONALLY-SIGNED-BASE-N-DIGIT-SEQUENCE
     (^INT (^BM^CONS (^1) (^BM^CONS (^0) (^BM^ZERO)))) (^BM^ALL-BUT-LAST LST)))
   (^BM^NUMBER-SIGN-SEQUENCE LST))))

(DEFINE (^BM^NUMERIC-VALUE LST)
 (IF (^BM^OPTIONALLY-SIGNED-BASE-N-DIGIT-SEQUENCE
      (^INT (^BM^CONS (^1) (^BM^CONS (^0) (^BM^ZERO)))) LST)
     (^BM^BASE-N-SIGNED-VALUE (^INT (^BM^CONS (^1) (^BM^CONS (^0) (^BM^ZERO))))
      LST)
     (IF (EQUAL (^BM^CAR (^BM^LAST LST))
                (^BM^ASCII
                 (^BM^PACK
                  (^BM^CONS (^D) (^BM^CONS (^O) (^BM^CONS (^T) (^BM^ZERO)))))))
         (^BM^BASE-N-SIGNED-VALUE
          (^INT (^BM^CONS (^1) (^BM^CONS (^0) (^BM^ZERO))))
          (^BM^ALL-BUT-LAST LST))
         (^BM^BASE-N-SIGNED-VALUE
          (IF (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) LST)
                     (^BM^ASCII
                      (^BM^PACK
                       (^BM^CONS (^U)
                        (^BM^CONS (^P)
                         (^BM^CONS (^P)
                          (^BM^CONS (^E)
                           (^BM^CONS (^R)
                            (^BM^CONS (^-) (^BM^CONS (^B) (^BM^ZERO)))))))))))
              (^INT (^BM^CONS (^2) (^BM^ZERO)))
              (IF (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) LST)
                         (^BM^ASCII
                          (^BM^PACK
                           (^BM^CONS (^U)
                            (^BM^CONS (^P)
                             (^BM^CONS (^P)
                              (^BM^CONS (^E)
                               (^BM^CONS (^R)
                                (^BM^CONS (^-)
                                 (^BM^CONS (^O) (^BM^ZERO)))))))))))
                  (^INT (^BM^CONS (^8) (^BM^ZERO)))
                  (^INT (^BM^CONS (^1) (^BM^CONS (^6) (^BM^ZERO))))))
          (^BM^CDR (^BM^CDR LST))))))

(DEFINE (^BM^SINGLE-QUOTE-TOKEN)
 (^BM^PACK
  (^BM^CONS
   (^BM^ASCII
    (^BM^PACK
     (^BM^CONS (^S)
      (^BM^CONS (^I)
       (^BM^CONS (^N)
        (^BM^CONS (^G)
         (^BM^CONS (^L)
          (^BM^CONS (^E)
           (^BM^CONS (^-)
            (^BM^CONS (^Q)
             (^BM^CONS (^U)
              (^BM^CONS (^O)
               (^BM^CONS (^T) (^BM^CONS (^E) (^BM^ZERO)))))))))))))))
   (^INT (^BM^ZERO)))))

(DEFINE (^BM^BACKQUOTE-TOKEN)
 (^BM^PACK
  (^BM^CONS
   (^BM^ASCII
    (^BM^PACK
     (^BM^CONS (^B)
      (^BM^CONS (^A)
       (^BM^CONS (^C)
        (^BM^CONS (^K)
         (^BM^CONS (^Q)
          (^BM^CONS (^U)
           (^BM^CONS (^O) (^BM^CONS (^T) (^BM^CONS (^E) (^BM^ZERO))))))))))))
   (^INT (^BM^ZERO)))))

(DEFINE (^BM^DOT-TOKEN)
 (^BM^PACK
  (^BM^CONS
   (^BM^ASCII
    (^BM^PACK (^BM^CONS (^D) (^BM^CONS (^O) (^BM^CONS (^T) (^BM^ZERO))))))
   (^INT (^BM^ZERO)))))

(DEFINE (^BM^COMMA-TOKEN)
 (^BM^PACK
  (^BM^CONS
   (^BM^ASCII
    (^BM^PACK
     (^BM^CONS (^C)
      (^BM^CONS (^O)
       (^BM^CONS (^M) (^BM^CONS (^M) (^BM^CONS (^A) (^BM^ZERO))))))))
   (^INT (^BM^ZERO)))))

(DEFINE (^BM^COMMA-AT-SIGN-TOKEN)
 (^BM^PACK
  (^BM^CONS
   (^BM^ASCII
    (^BM^PACK
     (^BM^CONS (^C)
      (^BM^CONS (^O)
       (^BM^CONS (^M) (^BM^CONS (^M) (^BM^CONS (^A) (^BM^ZERO))))))))
   (^BM^CONS
    (^BM^ASCII
     (^BM^PACK
      (^BM^CONS (^A)
       (^BM^CONS (^T)
        (^BM^CONS (^-)
         (^BM^CONS (^S)
          (^BM^CONS (^I) (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO))))))))))
    (^INT (^BM^ZERO))))))

(DEFINE (^BM^COMMA-DOT-TOKEN)
 (^BM^PACK
  (^BM^CONS
   (^BM^ASCII
    (^BM^PACK
     (^BM^CONS (^C)
      (^BM^CONS (^O)
       (^BM^CONS (^M) (^BM^CONS (^M) (^BM^CONS (^A) (^BM^ZERO))))))))
   (^BM^CONS
    (^BM^ASCII
     (^BM^PACK (^BM^CONS (^D) (^BM^CONS (^O) (^BM^CONS (^T) (^BM^ZERO))))))
    (^INT (^BM^ZERO))))))

(DEFINE (^BM^WORD-CHARACTERS)
 (^BM^ASCII
  (^BM^CONS
   (^BM^PACK
    (^BM^CONS (^U)
     (^BM^CONS (^P)
      (^BM^CONS (^P)
       (^BM^CONS (^E)
        (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^A) (^BM^ZERO)))))))))
   (^BM^CONS
    (^BM^PACK
     (^BM^CONS (^U)
      (^BM^CONS (^P)
       (^BM^CONS (^P)
        (^BM^CONS (^E)
         (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^B) (^BM^ZERO)))))))))
    (^BM^CONS
     (^BM^PACK
      (^BM^CONS (^U)
       (^BM^CONS (^P)
        (^BM^CONS (^P)
         (^BM^CONS (^E)
          (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^C) (^BM^ZERO)))))))))
     (^BM^CONS
      (^BM^PACK
       (^BM^CONS (^U)
        (^BM^CONS (^P)
         (^BM^CONS (^P)
          (^BM^CONS (^E)
           (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^D) (^BM^ZERO)))))))))
      (^BM^CONS
       (^BM^PACK
        (^BM^CONS (^U)
         (^BM^CONS (^P)
          (^BM^CONS (^P)
           (^BM^CONS (^E)
            (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^E) (^BM^ZERO)))))))))
       (^BM^CONS
        (^BM^PACK
         (^BM^CONS (^U)
          (^BM^CONS (^P)
           (^BM^CONS (^P)
            (^BM^CONS (^E)
             (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^F) (^BM^ZERO)))))))))
        (^BM^CONS
         (^BM^PACK
          (^BM^CONS (^U)
           (^BM^CONS (^P)
            (^BM^CONS (^P)
             (^BM^CONS (^E)
              (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^G) (^BM^ZERO)))))))))
         (^BM^CONS
          (^BM^PACK
           (^BM^CONS (^U)
            (^BM^CONS (^P)
             (^BM^CONS (^P)
              (^BM^CONS (^E)
               (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^H) (^BM^ZERO)))))))))
          (^BM^CONS
           (^BM^PACK
            (^BM^CONS (^U)
             (^BM^CONS (^P)
              (^BM^CONS (^P)
               (^BM^CONS (^E)
                (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^I) (^BM^ZERO)))))))))
           (^BM^CONS
            (^BM^PACK
             (^BM^CONS (^U)
              (^BM^CONS (^P)
               (^BM^CONS (^P)
                (^BM^CONS (^E)
                 (^BM^CONS (^R)
                  (^BM^CONS (^-) (^BM^CONS (^J) (^BM^ZERO)))))))))
            (^BM^CONS
             (^BM^PACK
              (^BM^CONS (^U)
               (^BM^CONS (^P)
                (^BM^CONS (^P)
                 (^BM^CONS (^E)
                  (^BM^CONS (^R)
                   (^BM^CONS (^-) (^BM^CONS (^K) (^BM^ZERO)))))))))
             (^BM^CONS
              (^BM^PACK
               (^BM^CONS (^U)
                (^BM^CONS (^P)
                 (^BM^CONS (^P)
                  (^BM^CONS (^E)
                   (^BM^CONS (^R)
                    (^BM^CONS (^-) (^BM^CONS (^L) (^BM^ZERO)))))))))
              (^BM^CONS
               (^BM^PACK
                (^BM^CONS (^U)
                 (^BM^CONS (^P)
                  (^BM^CONS (^P)
                   (^BM^CONS (^E)
                    (^BM^CONS (^R)
                     (^BM^CONS (^-) (^BM^CONS (^M) (^BM^ZERO)))))))))
               (^BM^CONS
                (^BM^PACK
                 (^BM^CONS (^U)
                  (^BM^CONS (^P)
                   (^BM^CONS (^P)
                    (^BM^CONS (^E)
                     (^BM^CONS (^R)
                      (^BM^CONS (^-) (^BM^CONS (^N) (^BM^ZERO)))))))))
                (^BM^CONS
                 (^BM^PACK
                  (^BM^CONS (^U)
                   (^BM^CONS (^P)
                    (^BM^CONS (^P)
                     (^BM^CONS (^E)
                      (^BM^CONS (^R)
                       (^BM^CONS (^-) (^BM^CONS (^O) (^BM^ZERO)))))))))
                 (^BM^CONS
                  (^BM^PACK
                   (^BM^CONS (^U)
                    (^BM^CONS (^P)
                     (^BM^CONS (^P)
                      (^BM^CONS (^E)
                       (^BM^CONS (^R)
                        (^BM^CONS (^-) (^BM^CONS (^P) (^BM^ZERO)))))))))
                  (^BM^CONS
                   (^BM^PACK
                    (^BM^CONS (^U)
                     (^BM^CONS (^P)
                      (^BM^CONS (^P)
                       (^BM^CONS (^E)
                        (^BM^CONS (^R)
                         (^BM^CONS (^-) (^BM^CONS (^Q) (^BM^ZERO)))))))))
                   (^BM^CONS
                    (^BM^PACK
                     (^BM^CONS (^U)
                      (^BM^CONS (^P)
                       (^BM^CONS (^P)
                        (^BM^CONS (^E)
                         (^BM^CONS (^R)
                          (^BM^CONS (^-) (^BM^CONS (^R) (^BM^ZERO)))))))))
                    (^BM^CONS
                     (^BM^PACK
                      (^BM^CONS (^U)
                       (^BM^CONS (^P)
                        (^BM^CONS (^P)
                         (^BM^CONS (^E)
                          (^BM^CONS (^R)
                           (^BM^CONS (^-) (^BM^CONS (^S) (^BM^ZERO)))))))))
                     (^BM^CONS
                      (^BM^PACK
                       (^BM^CONS (^U)
                        (^BM^CONS (^P)
                         (^BM^CONS (^P)
                          (^BM^CONS (^E)
                           (^BM^CONS (^R)
                            (^BM^CONS (^-) (^BM^CONS (^T) (^BM^ZERO)))))))))
                      (^BM^CONS
                       (^BM^PACK
                        (^BM^CONS (^U)
                         (^BM^CONS (^P)
                          (^BM^CONS (^P)
                           (^BM^CONS (^E)
                            (^BM^CONS (^R)
                             (^BM^CONS (^-) (^BM^CONS (^U) (^BM^ZERO)))))))))
                       (^BM^CONS
                        (^BM^PACK
                         (^BM^CONS (^U)
                          (^BM^CONS (^P)
                           (^BM^CONS (^P)
                            (^BM^CONS (^E)
                             (^BM^CONS (^R)
                              (^BM^CONS (^-) (^BM^CONS (^V) (^BM^ZERO)))))))))
                        (^BM^CONS
                         (^BM^PACK
                          (^BM^CONS (^U)
                           (^BM^CONS (^P)
                            (^BM^CONS (^P)
                             (^BM^CONS (^E)
                              (^BM^CONS (^R)
                               (^BM^CONS (^-) (^BM^CONS (^W) (^BM^ZERO)))))))))
                         (^BM^CONS
                          (^BM^PACK
                           (^BM^CONS (^U)
                            (^BM^CONS (^P)
                             (^BM^CONS (^P)
                              (^BM^CONS (^E)
                               (^BM^CONS (^R)
                                (^BM^CONS (^-)
                                 (^BM^CONS (^X) (^BM^ZERO)))))))))
                          (^BM^CONS
                           (^BM^PACK
                            (^BM^CONS (^U)
                             (^BM^CONS (^P)
                              (^BM^CONS (^P)
                               (^BM^CONS (^E)
                                (^BM^CONS (^R)
                                 (^BM^CONS (^-)
                                  (^BM^CONS (^Y) (^BM^ZERO)))))))))
                           (^BM^CONS
                            (^BM^PACK
                             (^BM^CONS (^U)
                              (^BM^CONS (^P)
                               (^BM^CONS (^P)
                                (^BM^CONS (^E)
                                 (^BM^CONS (^R)
                                  (^BM^CONS (^-)
                                   (^BM^CONS (^Z) (^BM^ZERO)))))))))
                            (^BM^CONS
                             (^BM^PACK
                              (^BM^CONS (^D)
                               (^BM^CONS (^I)
                                (^BM^CONS (^G)
                                 (^BM^CONS (^I)
                                  (^BM^CONS (^T)
                                   (^BM^CONS (^-)
                                    (^BM^CONS (^Z)
                                     (^BM^CONS (^E)
                                      (^BM^CONS (^R)
                                       (^BM^CONS (^O) (^BM^ZERO))))))))))))
                             (^BM^CONS
                              (^BM^PACK
                               (^BM^CONS (^D)
                                (^BM^CONS (^I)
                                 (^BM^CONS (^G)
                                  (^BM^CONS (^I)
                                   (^BM^CONS (^T)
                                    (^BM^CONS (^-)
                                     (^BM^CONS (^O)
                                      (^BM^CONS (^N)
                                       (^BM^CONS (^E) (^BM^ZERO)))))))))))
                              (^BM^CONS
                               (^BM^PACK
                                (^BM^CONS (^D)
                                 (^BM^CONS (^I)
                                  (^BM^CONS (^G)
                                   (^BM^CONS (^I)
                                    (^BM^CONS (^T)
                                     (^BM^CONS (^-)
                                      (^BM^CONS (^T)
                                       (^BM^CONS
                                        (^W)
                                        (^BM^CONS (^O) (^BM^ZERO)))))))))))
                               (^BM^CONS
                                (^BM^PACK
                                 (^BM^CONS (^D)
                                  (^BM^CONS (^I)
                                   (^BM^CONS (^G)
                                    (^BM^CONS (^I)
                                     (^BM^CONS (^T)
                                      (^BM^CONS (^-)
                                       (^BM^CONS
                                        (^T)
                                        (^BM^CONS
                                         (^H)
                                         (^BM^CONS
                                          (^R)
                                          (^BM^CONS
                                           (^E)
                                           (^BM^CONS
                                            (^E)
                                            (^BM^ZERO)))))))))))))
                                (^BM^CONS
                                 (^BM^PACK
                                  (^BM^CONS (^D)
                                   (^BM^CONS (^I)
                                    (^BM^CONS (^G)
                                     (^BM^CONS (^I)
                                      (^BM^CONS (^T)
                                       (^BM^CONS
                                        (^-)
                                        (^BM^CONS
                                         (^F)
                                         (^BM^CONS
                                          (^O)
                                          (^BM^CONS
                                           (^U)
                                           (^BM^CONS (^R) (^BM^ZERO))))))))))))
                                 (^BM^CONS
                                  (^BM^PACK
                                   (^BM^CONS (^D)
                                    (^BM^CONS (^I)
                                     (^BM^CONS (^G)
                                      (^BM^CONS (^I)
                                       (^BM^CONS
                                        (^T)
                                        (^BM^CONS
                                         (^-)
                                         (^BM^CONS
                                          (^F)
                                          (^BM^CONS
                                           (^I)
                                           (^BM^CONS
                                            (^V)
                                            (^BM^CONS
                                             (^E)
                                             (^BM^ZERO))))))))))))
                                  (^BM^CONS
                                   (^BM^PACK
                                    (^BM^CONS (^D)
                                     (^BM^CONS (^I)
                                      (^BM^CONS (^G)
                                       (^BM^CONS
                                        (^I)
                                        (^BM^CONS
                                         (^T)
                                         (^BM^CONS
                                          (^-)
                                          (^BM^CONS
                                           (^S)
                                           (^BM^CONS
                                            (^I)
                                            (^BM^CONS (^X) (^BM^ZERO)))))))))))
                                   (^BM^CONS
                                    (^BM^PACK
                                     (^BM^CONS (^D)
                                      (^BM^CONS (^I)
                                       (^BM^CONS
                                        (^G)
                                        (^BM^CONS
                                         (^I)
                                         (^BM^CONS
                                          (^T)
                                          (^BM^CONS
                                           (^-)
                                           (^BM^CONS
                                            (^S)
                                            (^BM^CONS
                                             (^E)
                                             (^BM^CONS
                                              (^V)
                                              (^BM^CONS
                                               (^E)
                                               (^BM^CONS
                                                (^N)
                                                (^BM^ZERO)))))))))))))
                                    (^BM^CONS
                                     (^BM^PACK
                                      (^BM^CONS (^D)
                                       (^BM^CONS
                                        (^I)
                                        (^BM^CONS
                                         (^G)
                                         (^BM^CONS
                                          (^I)
                                          (^BM^CONS
                                           (^T)
                                           (^BM^CONS
                                            (^-)
                                            (^BM^CONS
                                             (^E)
                                             (^BM^CONS
                                              (^I)
                                              (^BM^CONS
                                               (^G)
                                               (^BM^CONS
                                                (^H)
                                                (^BM^CONS
                                                 (^T)
                                                 (^BM^ZERO)))))))))))))
                                     (^BM^CONS
                                      (^BM^PACK
                                       (^BM^CONS
                                        (^D)
                                        (^BM^CONS
                                         (^I)
                                         (^BM^CONS
                                          (^G)
                                          (^BM^CONS
                                           (^I)
                                           (^BM^CONS
                                            (^T)
                                            (^BM^CONS
                                             (^-)
                                             (^BM^CONS
                                              (^N)
                                              (^BM^CONS
                                               (^I)
                                               (^BM^CONS
                                                (^N)
                                                (^BM^CONS
                                                 (^E)
                                                 (^BM^ZERO))))))))))))
                                      (^BM^CONS
                                       (^BM^PACK
                                        (^BM^CONS
                                         (^D)
                                         (^BM^CONS
                                          (^O)
                                          (^BM^CONS
                                           (^L)
                                           (^BM^CONS
                                            (^L)
                                            (^BM^CONS
                                             (^A)
                                             (^BM^CONS
                                              (^R)
                                              (^BM^CONS
                                               (^-)
                                               (^BM^CONS
                                                (^S)
                                                (^BM^CONS
                                                 (^I)
                                                 (^BM^CONS
                                                  (^G)
                                                  (^BM^CONS
                                                   (^N)
                                                   (^BM^ZERO)))))))))))))
                                       (^BM^CONS
                                        (^BM^PACK
                                         (^BM^CONS
                                          (^U)
                                          (^BM^CONS
                                           (^P)
                                           (^BM^CONS
                                            (^A)
                                            (^BM^CONS
                                             (^R)
                                             (^BM^CONS
                                              (^R)
                                              (^BM^CONS
                                               (^O)
                                               (^BM^CONS
                                                (^W)
                                                (^BM^ZERO)))))))))
                                        (^BM^CONS
                                         (^BM^PACK
                                          (^BM^CONS
                                           (^A)
                                           (^BM^CONS
                                            (^M)
                                            (^BM^CONS
                                             (^P)
                                             (^BM^CONS
                                              (^E)
                                              (^BM^CONS
                                               (^R)
                                               (^BM^CONS
                                                (^S)
                                                (^BM^CONS
                                                 (^A)
                                                 (^BM^CONS
                                                  (^N)
                                                  (^BM^CONS
                                                   (^D)
                                                   (^BM^ZERO)))))))))))
                                         (^BM^CONS
                                          (^BM^PACK
                                           (^BM^CONS
                                            (^A)
                                            (^BM^CONS
                                             (^S)
                                             (^BM^CONS
                                              (^T)
                                              (^BM^CONS
                                               (^E)
                                               (^BM^CONS
                                                (^R)
                                                (^BM^CONS
                                                 (^I)
                                                 (^BM^CONS
                                                  (^S)
                                                  (^BM^CONS
                                                   (^K)
                                                   (^BM^ZERO))))))))))
                                          (^BM^CONS
                                           (^BM^PACK
                                            (^BM^CONS
                                             (^U)
                                             (^BM^CONS
                                              (^N)
                                              (^BM^CONS
                                               (^D)
                                               (^BM^CONS
                                                (^E)
                                                (^BM^CONS
                                                 (^R)
                                                 (^BM^CONS
                                                  (^S)
                                                  (^BM^CONS
                                                   (^C)
                                                   (^BM^CONS
                                                    (^O)
                                                    (^BM^CONS
                                                     (^R)
                                                     (^BM^CONS
                                                      (^E)
                                                      (^BM^ZERO))))))))))))
                                           (^BM^CONS
                                            (^BM^PACK
                                             (^BM^CONS
                                              (^M)
                                              (^BM^CONS
                                               (^I)
                                               (^BM^CONS
                                                (^N)
                                                (^BM^CONS
                                                 (^U)
                                                 (^BM^CONS
                                                  (^S)
                                                  (^BM^CONS
                                                   (^-)
                                                   (^BM^CONS
                                                    (^S)
                                                    (^BM^CONS
                                                     (^I)
                                                     (^BM^CONS
                                                      (^G)
                                                      (^BM^CONS
                                                       (^N)
                                                       (^BM^ZERO))))))))))))
                                            (^BM^CONS
                                             (^BM^PACK
                                              (^BM^CONS
                                               (^P)
                                               (^BM^CONS
                                                (^L)
                                                (^BM^CONS
                                                 (^U)
                                                 (^BM^CONS
                                                  (^S)
                                                  (^BM^CONS
                                                   (^-)
                                                   (^BM^CONS
                                                    (^S)
                                                    (^BM^CONS
                                                     (^I)
                                                     (^BM^CONS
                                                      (^G)
                                                      (^BM^CONS
                                                       (^N)
                                                       (^BM^ZERO)))))))))))
                                             (^BM^CONS
                                              (^BM^PACK
                                               (^BM^CONS
                                                (^E)
                                                (^BM^CONS
                                                 (^Q)
                                                 (^BM^CONS
                                                  (^U)
                                                  (^BM^CONS
                                                   (^A)
                                                   (^BM^CONS
                                                    (^L)
                                                    (^BM^CONS
                                                     (^-)
                                                     (^BM^CONS
                                                      (^S)
                                                      (^BM^CONS
                                                       (^I)
                                                       (^BM^CONS
                                                        (^G)
                                                        (^BM^CONS
                                                         (^N)
                                                         (^BM^ZERO))))))))))))
                                              (^BM^CONS
                                               (^BM^PACK
                                                (^BM^CONS
                                                 (^T)
                                                 (^BM^CONS
                                                  (^I)
                                                  (^BM^CONS
                                                   (^L)
                                                   (^BM^CONS
                                                    (^D)
                                                    (^BM^CONS
                                                     (^E)
                                                     (^BM^ZERO)))))))
                                               (^BM^CONS
                                                (^BM^PACK
                                                 (^BM^CONS
                                                  (^O)
                                                  (^BM^CONS
                                                   (^P)
                                                   (^BM^CONS
                                                    (^E)
                                                    (^BM^CONS
                                                     (^N)
                                                     (^BM^CONS
                                                      (^-)
                                                      (^BM^CONS
                                                       (^B)
                                                       (^BM^CONS
                                                        (^R)
                                                        (^BM^CONS
                                                         (^A)
                                                         (^BM^CONS
                                                          (^C)
                                                          (^BM^CONS
                                                           (^E)
                                                           (^BM^ZERO))))))))))))
                                                (^BM^CONS
                                                 (^BM^PACK
                                                  (^BM^CONS
                                                   (^C)
                                                   (^BM^CONS
                                                    (^L)
                                                    (^BM^CONS
                                                     (^O)
                                                     (^BM^CONS
                                                      (^S)
                                                      (^BM^CONS
                                                       (^E)
                                                       (^BM^CONS
                                                        (^-)
                                                        (^BM^CONS
                                                         (^B)
                                                         (^BM^CONS
                                                          (^R)
                                                          (^BM^CONS
                                                           (^A)
                                                           (^BM^CONS
                                                            (^C)
                                                            (^BM^CONS
                                                             (^E)
                                                             (^BM^ZERO)))))))))))))
                                                 (^BM^CONS
                                                  (^BM^PACK
                                                   (^BM^CONS
                                                    (^Q)
                                                    (^BM^CONS
                                                     (^U)
                                                     (^BM^CONS
                                                      (^E)
                                                      (^BM^CONS
                                                       (^S)
                                                       (^BM^CONS
                                                        (^T)
                                                        (^BM^CONS
                                                         (^I)
                                                         (^BM^CONS
                                                          (^O)
                                                          (^BM^CONS
                                                           (^N)
                                                           (^BM^CONS
                                                            (^-)
                                                            (^BM^CONS
                                                             (^M)
                                                             (^BM^CONS
                                                              (^A)
                                                              (^BM^CONS
                                                               (^R)
                                                               (^BM^CONS
                                                                (^K)
                                                                (^BM^ZERO)))))))))))))))
                                                  (^BM^CONS
                                                   (^BM^PACK
                                                    (^BM^CONS
                                                     (^L)
                                                     (^BM^CONS
                                                      (^E)
                                                      (^BM^CONS
                                                       (^S)
                                                       (^BM^CONS
                                                        (^S)
                                                        (^BM^CONS
                                                         (^-)
                                                         (^BM^CONS
                                                          (^T)
                                                          (^BM^CONS
                                                           (^H)
                                                           (^BM^CONS
                                                            (^A)
                                                            (^BM^CONS
                                                             (^N)
                                                             (^BM^CONS
                                                              (^-)
                                                              (^BM^CONS
                                                               (^S)
                                                               (^BM^CONS
                                                                (^I)
                                                                (^BM^CONS
                                                                 (^G)
                                                                 (^BM^CONS
                                                                  (^N)
                                                                  (^BM^ZERO))))))))))))))))
                                                   (^BM^CONS
                                                    (^BM^PACK
                                                     (^BM^CONS
                                                      (^G)
                                                      (^BM^CONS
                                                       (^R)
                                                       (^BM^CONS
                                                        (^E)
                                                        (^BM^CONS
                                                         (^A)
                                                         (^BM^CONS
                                                          (^T)
                                                          (^BM^CONS
                                                           (^E)
                                                           (^BM^CONS
                                                            (^R)
                                                            (^BM^CONS
                                                             (^-)
                                                             (^BM^CONS
                                                              (^T)
                                                              (^BM^CONS
                                                               (^H)
                                                               (^BM^CONS
                                                                (^A)
                                                                (^BM^CONS
                                                                 (^N)
                                                                 (^BM^CONS
                                                                  (^-)
                                                                  (^BM^CONS
                                                                   (^S)
                                                                   (^BM^CONS
                                                                    (^I)
                                                                    (^BM^CONS
                                                                     (^G)
                                                                     (^BM^CONS
                                                                      (^N)
                                                                      (^BM^ZERO)))))))))))))))))))
                                                    (^BM^PACK
                                                     (^BM^CONS
                                                      (^N)
                                                      (^BM^CONS
                                                       (^I)
                                                       (^BM^CONS
                                                        (^L)
                                                        (^BM^ZERO)))))))))))))))))))))))))))))))))))))))))))))))))))))))))

(DEFINE (^BM^SUBSETP X Y)
 (IF (^BM^NLISTP X)
     (^BM^TRUE)
     (IF (^BM^MEMBER (^BM^CAR X) Y) (^BM^SUBSETP (^BM^CDR X) Y) (^BM^FALSE))))

(DEFINE (^BM^WORD S)
 (^BM^AND (^BM^LITATOM S)
  (^BM^OR (^BM^NUMERIC-SEQUENCE (^BM^UNPACK S))
   (^BM^AND (^BM^LISTP (^BM^UNPACK S))
    (^BM^SUBSETP (^BM^UNPACK S) (^BM^WORD-CHARACTERS))))))

(DEFINE (^BM^NUMERIC-WORD S)
 (^BM^AND (^BM^LITATOM S) (^BM^NUMERIC-SEQUENCE (^BM^UNPACK S))))

(DEFINE (^BM^NUMERIC-WORD-VALUE S) (^BM^NUMERIC-VALUE (^BM^UNPACK S)))

(DEFINE (^BM^INTEGERP X) (^BM^OR (^BM^NUMBERP X) (^BM^NEGATIVEP X)))

(DEFINE (^BM^SPECIAL-TOKEN X)
 (^BM^OR (EQUAL X (^BM^SINGLE-QUOTE-TOKEN))
  (^BM^OR (EQUAL X (^BM^BACKQUOTE-TOKEN))
   (^BM^OR (EQUAL X (^BM^COMMA-TOKEN))
    (^BM^OR (EQUAL X (^BM^COMMA-AT-SIGN-TOKEN))
     (EQUAL X (^BM^COMMA-DOT-TOKEN)))))))

(DEFINE (^BM^EQLEN LST N)
 (IF (^BM^ZEROP N)
     (EQUAL LST (^NIL))
     (IF (^BM^NLISTP LST) (^BM^FALSE) (^BM^EQLEN (^BM^CDR LST) (^BM^SUB1 N)))))

(DEFINE (^BM^DOTTED-PAIR X)
 (^BM^AND (^BM^EQLEN X (^INT (^BM^CONS (^3) (^BM^ZERO))))
  (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X) (^BM^DOT-TOKEN))))

(DEFINE (^BM^DOTTED-S-EXPRESSION X)
 (IF (^BM^NLISTP X)
     (^BM^FALSE)
     (IF (^BM^DOTTED-PAIR X) (^BM^TRUE) (^BM^DOTTED-S-EXPRESSION (^BM^CDR X)))))

(DEFINE (^BM^SINGLETON X) (^BM^EQLEN X (^INT (^BM^CONS (^1) (^BM^ZERO)))))

(LEMMA (EQUAL (^BM^CDRN (^BM^ADD1 N) X) (^BM^CDRN N (^BM^CDR X))))

(DEFINE (^BM^TOKEN-TREE X)
 (IF (^BM^NLISTP X)
     (^BM^OR (^BM^INTEGERP X) (^BM^WORD X))
     (IF (^BM^AND (^BM^SPECIAL-TOKEN (^BM^CAR X))
          (EQUAL (^BM^LENGTH X) (^INT (^BM^CONS (^2) (^BM^ZERO)))))
         (^BM^TOKEN-TREE (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X))
         (IF (^BM^DOTTED-PAIR X)
             (^BM^AND (^BM^TOKEN-TREE (^BM^CAR X))
              (^BM^TOKEN-TREE (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X)))
             (IF (^BM^SINGLETON X)
                 (^BM^TOKEN-TREE (^BM^CAR X))
                 (^BM^AND (^BM^TOKEN-TREE (^BM^CAR X))
                  (^BM^TOKEN-TREE (^BM^CDR X))))))))

(DEFINE (^BM^SPECIAL-TOKEN-TREE X) (^BM^SPECIAL-TOKEN (^BM^CAR X)))

(DEFINE (^BM^SINGLE-QUOTE-TOKEN-TREE X)
 (EQUAL (^BM^CAR X) (^BM^SINGLE-QUOTE-TOKEN)))

(DEFINE (^BM^BACKQUOTE-TOKEN-TREE X) (EQUAL (^BM^CAR X) (^BM^BACKQUOTE-TOKEN)))

(DEFINE (^BM^COMMA-ESCAPE-TOKEN-TREE X) (EQUAL (^BM^CAR X) (^BM^COMMA-TOKEN)))

(DEFINE (^BM^SPLICE-ESCAPE-TOKEN-TREE X)
 (^BM^OR (EQUAL (^BM^CAR X) (^BM^COMMA-AT-SIGN-TOKEN))
  (EQUAL (^BM^CAR X) (^BM^COMMA-DOT-TOKEN))))

(DEFINE (^BM^CONSTITUENT X) (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X))

(DEFINE (^BM^OPEN-PAREN)
 (^BM^PACK
  (^BM^CONS
   (^BM^ASCII
    (^BM^PACK
     (^BM^CONS (^O)
      (^BM^CONS (^P)
       (^BM^CONS (^E)
        (^BM^CONS (^N)
         (^BM^CONS (^-)
          (^BM^CONS (^P)
           (^BM^CONS (^A)
            (^BM^CONS (^R) (^BM^CONS (^E) (^BM^CONS (^N) (^BM^ZERO)))))))))))))
   (^INT (^BM^ZERO)))))

(DEFINE (^BM^CLOSE-PAREN)
 (^BM^PACK
  (^BM^CONS
   (^BM^ASCII
    (^BM^PACK
     (^BM^CONS (^C)
      (^BM^CONS (^L)
       (^BM^CONS (^O)
        (^BM^CONS (^S)
         (^BM^CONS (^E)
          (^BM^CONS (^-)
           (^BM^CONS (^P)
            (^BM^CONS (^A)
             (^BM^CONS (^R)
              (^BM^CONS (^E) (^BM^CONS (^N) (^BM^ZERO))))))))))))))
   (^INT (^BM^ZERO)))))

(DEFINE (^BM^SKIP-PAST-NEWLINE STREAM)
 (IF (^BM^NLISTP STREAM)
     STREAM
     (IF (EQUAL (^BM^CAR STREAM)
                (^BM^ASCII
                 (^BM^PACK
                  (^BM^CONS (^N)
                   (^BM^CONS (^E)
                    (^BM^CONS (^W)
                     (^BM^CONS (^L)
                      (^BM^CONS (^I)
                       (^BM^CONS (^N) (^BM^CONS (^E) (^BM^ZERO)))))))))))
         (^BM^CDR STREAM)
         (^BM^SKIP-PAST-NEWLINE (^BM^CDR STREAM)))))

(LEMMA
 (^BM^NOT
  (^BM^LESSP (^BM^LENGTH STREAM) (^BM^LENGTH (^BM^SKIP-PAST-NEWLINE STREAM)))))

(DEFINE (^BM^SKIP-PAST-BALANCING-VERTICAL-BAR-NUMBER-SIGN STREAM I)
 (IF (^BM^NLISTP STREAM)
     (^BM^CONS
      (^BM^ASCII
       (^BM^PACK
        (^BM^CONS (^O)
         (^BM^CONS (^P)
          (^BM^CONS (^E)
           (^BM^CONS (^N)
            (^BM^CONS (^-)
             (^BM^CONS (^P)
              (^BM^CONS (^A)
               (^BM^CONS (^R)
                (^BM^CONS (^E) (^BM^CONS (^N) (^BM^ZERO)))))))))))))
      STREAM)
     (IF (^BM^AND
          (EQUAL (^BM^CAR STREAM)
                 (^BM^ASCII
                  (^BM^PACK
                   (^BM^CONS (^N)
                    (^BM^CONS (^U)
                     (^BM^CONS (^M)
                      (^BM^CONS (^B)
                       (^BM^CONS (^E)
                        (^BM^CONS (^R)
                         (^BM^CONS (^-)
                          (^BM^CONS (^S)
                           (^BM^CONS (^I)
                            (^BM^CONS (^G)
                             (^BM^CONS (^N) (^BM^ZERO)))))))))))))))
          (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) STREAM)
                 (^BM^ASCII
                  (^BM^PACK
                   (^BM^CONS (^V)
                    (^BM^CONS (^E)
                     (^BM^CONS (^R)
                      (^BM^CONS (^T)
                       (^BM^CONS (^I)
                        (^BM^CONS (^C)
                         (^BM^CONS (^A)
                          (^BM^CONS (^L)
                           (^BM^CONS (^-)
                            (^BM^CONS (^B)
                             (^BM^CONS (^A)
                              (^BM^CONS (^R) (^BM^ZERO)))))))))))))))))
         (^BM^SKIP-PAST-BALANCING-VERTICAL-BAR-NUMBER-SIGN
          (^BM^CDRN (^INT (^BM^CONS (^2) (^BM^ZERO))) STREAM) (^BM^ADD1 I))
         (IF (^BM^AND
              (EQUAL (^BM^CAR STREAM)
                     (^BM^ASCII
                      (^BM^PACK
                       (^BM^CONS (^V)
                        (^BM^CONS (^E)
                         (^BM^CONS (^R)
                          (^BM^CONS (^T)
                           (^BM^CONS (^I)
                            (^BM^CONS (^C)
                             (^BM^CONS (^A)
                              (^BM^CONS (^L)
                               (^BM^CONS (^-)
                                (^BM^CONS (^B)
                                 (^BM^CONS (^A)
                                  (^BM^CONS (^R) (^BM^ZERO))))))))))))))))
              (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) STREAM)
                     (^BM^ASCII
                      (^BM^PACK
                       (^BM^CONS (^N)
                        (^BM^CONS (^U)
                         (^BM^CONS (^M)
                          (^BM^CONS (^B)
                           (^BM^CONS (^E)
                            (^BM^CONS (^R)
                             (^BM^CONS (^-)
                              (^BM^CONS (^S)
                               (^BM^CONS (^I)
                                (^BM^CONS (^G)
                                 (^BM^CONS (^N) (^BM^ZERO))))))))))))))))
             (IF (EQUAL I (^INT (^BM^ZERO)))
                 (^BM^CONS
                  (^BM^ASCII
                   (^BM^PACK
                    (^BM^CONS (^O)
                     (^BM^CONS (^P)
                      (^BM^CONS (^E)
                       (^BM^CONS (^N)
                        (^BM^CONS (^-)
                         (^BM^CONS (^P)
                          (^BM^CONS (^A)
                           (^BM^CONS (^R)
                            (^BM^CONS (^E)
                             (^BM^CONS (^N) (^BM^ZERO)))))))))))))
                  (^BM^CDRN (^INT (^BM^CONS (^2) (^BM^ZERO))) STREAM))
                 (IF (EQUAL I (^INT (^BM^CONS (^1) (^BM^ZERO))))
                     (^BM^CDRN (^INT (^BM^CONS (^2) (^BM^ZERO))) STREAM)
                     (^BM^SKIP-PAST-BALANCING-VERTICAL-BAR-NUMBER-SIGN
                      (^BM^CDRN (^INT (^BM^CONS (^2) (^BM^ZERO))) STREAM)
                      (^BM^SUB1 I))))
             (^BM^SKIP-PAST-BALANCING-VERTICAL-BAR-NUMBER-SIGN (^BM^CDR STREAM)
              I)))))

(LEMMA
 (^BM^NOT
  (^BM^LESSP (^BM^ADD1 (^BM^LENGTH STREAM))
   (^BM^LENGTH (^BM^SKIP-PAST-BALANCING-VERTICAL-BAR-NUMBER-SIGN STREAM I)))))

(LEMMA
 (^BM^IMPLIES
  (^BM^AND (^BM^LISTP STREAM)
   (^BM^AND
    (EQUAL (^BM^CAR STREAM)
           (^BM^ASCII
            (^BM^PACK
             (^BM^CONS (^N)
              (^BM^CONS (^U)
               (^BM^CONS (^M)
                (^BM^CONS (^B)
                 (^BM^CONS (^E)
                  (^BM^CONS (^R)
                   (^BM^CONS (^-)
                    (^BM^CONS (^S)
                     (^BM^CONS (^I)
                      (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO)))))))))))))))
    (EQUAL (^BM^CAR (^BM^CDR STREAM))
           (^BM^ASCII
            (^BM^PACK
             (^BM^CONS (^V)
              (^BM^CONS (^E)
               (^BM^CONS (^R)
                (^BM^CONS (^T)
                 (^BM^CONS (^I)
                  (^BM^CONS (^C)
                   (^BM^CONS (^A)
                    (^BM^CONS (^L)
                     (^BM^CONS (^-)
                      (^BM^CONS (^B)
                       (^BM^CONS (^A)
                        (^BM^CONS (^R) (^BM^ZERO))))))))))))))))))
  (^BM^LESSP
   (^BM^LENGTH
    (^BM^SKIP-PAST-BALANCING-VERTICAL-BAR-NUMBER-SIGN
     (^BM^CDR (^BM^CDR STREAM)) (^INT (^BM^CONS (^1) (^BM^ZERO)))))
   (^BM^LENGTH STREAM))))

(DEFINE (^BM^WHITE-SPACEP C)
 (^BM^MEMBER C
  (^BM^ASCII
   (^BM^CONS
    (^BM^PACK
     (^BM^CONS (^S)
      (^BM^CONS (^P)
       (^BM^CONS (^A) (^BM^CONS (^C) (^BM^CONS (^E) (^BM^ZERO)))))))
    (^BM^CONS
     (^BM^PACK (^BM^CONS (^T) (^BM^CONS (^A) (^BM^CONS (^B) (^BM^ZERO)))))
     (^BM^CONS
      (^BM^PACK
       (^BM^CONS (^N)
        (^BM^CONS (^E)
         (^BM^CONS (^W)
          (^BM^CONS (^L)
           (^BM^CONS (^I) (^BM^CONS (^N) (^BM^CONS (^E) (^BM^ZERO)))))))))
      (^BM^PACK
       (^BM^CONS (^N) (^BM^CONS (^I) (^BM^CONS (^L) (^BM^ZERO)))))))))))

(DEFINE (^BM^REV1 LST ANS)
 (IF (^BM^NLISTP LST)
     ANS
     (^BM^REV1 (^BM^CDR LST) (^BM^CONS (^BM^CAR LST) ANS))))

(DEFINE (^BM^EMIT PNAME LST)
 (IF (EQUAL PNAME (^INT (^BM^ZERO)))
     LST
     (^BM^CONS (^BM^PACK (^BM^REV1 PNAME (^INT (^BM^ZERO)))) LST)))

(DEFINE (^BM^UPCASE C)
 (IF (^BM^AND
      (^BM^LEQ
       (^BM^ASCII
        (^BM^PACK
         (^BM^CONS (^L)
          (^BM^CONS (^O)
           (^BM^CONS (^W)
            (^BM^CONS (^E)
             (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^A) (^BM^ZERO))))))))))
       C)
      (^BM^LEQ C
       (^BM^ASCII
        (^BM^PACK
         (^BM^CONS (^L)
          (^BM^CONS (^O)
           (^BM^CONS (^W)
            (^BM^CONS (^E)
             (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^Z) (^BM^ZERO))))))))))))
     (^BM^DIFFERENCE C
      (^BM^DIFFERENCE
       (^BM^ASCII
        (^BM^PACK
         (^BM^CONS (^L)
          (^BM^CONS (^O)
           (^BM^CONS (^W)
            (^BM^CONS (^E)
             (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^A) (^BM^ZERO))))))))))
       (^BM^ASCII
        (^BM^PACK
         (^BM^CONS (^U)
          (^BM^CONS (^P)
           (^BM^CONS (^P)
            (^BM^CONS (^E)
             (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^A) (^BM^ZERO))))))))))))
     C))

(DEFINE (^BM^LEXEMES STREAM PNAME)
 (IF (^BM^NLISTP STREAM)
     (^BM^EMIT PNAME (^NIL))
     (IF (EQUAL (^BM^CAR STREAM)
                (^BM^ASCII
                 (^BM^PACK
                  (^BM^CONS (^S)
                   (^BM^CONS (^E)
                    (^BM^CONS (^M)
                     (^BM^CONS (^I)
                      (^BM^CONS (^C)
                       (^BM^CONS (^O)
                        (^BM^CONS (^L)
                         (^BM^CONS (^O) (^BM^CONS (^N) (^BM^ZERO)))))))))))))
         (^BM^EMIT PNAME
          (^BM^LEXEMES (^BM^SKIP-PAST-NEWLINE (^BM^CDR STREAM))
           (^INT (^BM^ZERO))))
         (IF (^BM^MEMBER (^BM^CAR STREAM)
              (^BM^ASCII
               (^BM^CONS
                (^BM^PACK
                 (^BM^CONS (^B)
                  (^BM^CONS (^A)
                   (^BM^CONS (^C)
                    (^BM^CONS (^K)
                     (^BM^CONS (^Q)
                      (^BM^CONS (^U)
                       (^BM^CONS (^O)
                        (^BM^CONS (^T) (^BM^CONS (^E) (^BM^ZERO)))))))))))
                (^BM^CONS
                 (^BM^PACK
                  (^BM^CONS (^S)
                   (^BM^CONS (^I)
                    (^BM^CONS (^N)
                     (^BM^CONS (^G)
                      (^BM^CONS (^L)
                       (^BM^CONS (^E)
                        (^BM^CONS (^-)
                         (^BM^CONS (^Q)
                          (^BM^CONS (^U)
                           (^BM^CONS (^O)
                            (^BM^CONS (^T)
                             (^BM^CONS (^E) (^BM^ZERO))))))))))))))
                 (^BM^CONS
                  (^BM^PACK
                   (^BM^CONS (^O)
                    (^BM^CONS (^P)
                     (^BM^CONS (^E)
                      (^BM^CONS (^N)
                       (^BM^CONS (^-)
                        (^BM^CONS (^P)
                         (^BM^CONS (^A)
                          (^BM^CONS (^R)
                           (^BM^CONS (^E) (^BM^CONS (^N) (^BM^ZERO))))))))))))
                  (^BM^CONS
                   (^BM^PACK
                    (^BM^CONS (^C)
                     (^BM^CONS (^L)
                      (^BM^CONS (^O)
                       (^BM^CONS (^S)
                        (^BM^CONS (^E)
                         (^BM^CONS (^-)
                          (^BM^CONS (^P)
                           (^BM^CONS (^A)
                            (^BM^CONS (^R)
                             (^BM^CONS (^E)
                              (^BM^CONS (^N) (^BM^ZERO)))))))))))))
                   (^BM^PACK
                    (^BM^CONS (^N)
                     (^BM^CONS (^I) (^BM^CONS (^L) (^BM^ZERO)))))))))))
             (^BM^EMIT PNAME
              (^BM^EMIT (^BM^CONS (^BM^CAR STREAM) (^INT (^BM^ZERO)))
               (^BM^LEXEMES (^BM^CDR STREAM) (^INT (^BM^ZERO)))))
             (IF (EQUAL (^BM^CAR STREAM)
                        (^BM^ASCII
                         (^BM^PACK
                          (^BM^CONS (^C)
                           (^BM^CONS (^O)
                            (^BM^CONS (^M)
                             (^BM^CONS (^M) (^BM^CONS (^A) (^BM^ZERO)))))))))
                 (IF (^BM^OR
                      (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                              STREAM)
                             (^BM^ASCII
                              (^BM^PACK
                               (^BM^CONS (^A)
                                (^BM^CONS (^T)
                                 (^BM^CONS (^-)
                                  (^BM^CONS (^S)
                                   (^BM^CONS (^I)
                                    (^BM^CONS (^G)
                                     (^BM^CONS (^N) (^BM^ZERO)))))))))))
                      (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                              STREAM)
                             (^BM^ASCII
                              (^BM^PACK
                               (^BM^CONS (^D)
                                (^BM^CONS (^O) (^BM^CONS (^T) (^BM^ZERO))))))))
                     (^BM^EMIT PNAME
                      (^BM^EMIT
                       (^BM^CONS
                        (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) STREAM)
                        (^BM^CONS (^BM^CAR STREAM) (^INT (^BM^ZERO))))
                       (^BM^LEXEMES (^BM^CDR (^BM^CDR STREAM))
                        (^INT (^BM^ZERO)))))
                     (^BM^EMIT PNAME
                      (^BM^EMIT (^BM^CONS (^BM^CAR STREAM) (^INT (^BM^ZERO)))
                       (^BM^LEXEMES (^BM^CDR STREAM) (^INT (^BM^ZERO))))))
                 (IF (^BM^WHITE-SPACEP (^BM^CAR STREAM))
                     (^BM^EMIT PNAME
                      (^BM^LEXEMES (^BM^CDR STREAM) (^INT (^BM^ZERO))))
                     (IF (^BM^AND (EQUAL PNAME (^INT (^BM^ZERO)))
                          (^BM^AND
                           (EQUAL (^BM^CAR STREAM)
                                  (^BM^ASCII
                                   (^BM^PACK
                                    (^BM^CONS (^N)
                                     (^BM^CONS (^U)
                                      (^BM^CONS (^M)
                                       (^BM^CONS
                                        (^B)
                                        (^BM^CONS
                                         (^E)
                                         (^BM^CONS
                                          (^R)
                                          (^BM^CONS
                                           (^-)
                                           (^BM^CONS
                                            (^S)
                                            (^BM^CONS
                                             (^I)
                                             (^BM^CONS
                                              (^G)
                                              (^BM^CONS
                                               (^N)
                                               (^BM^ZERO)))))))))))))))
                           (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                   STREAM)
                                  (^BM^ASCII
                                   (^BM^PACK
                                    (^BM^CONS (^V)
                                     (^BM^CONS (^E)
                                      (^BM^CONS (^R)
                                       (^BM^CONS
                                        (^T)
                                        (^BM^CONS
                                         (^I)
                                         (^BM^CONS
                                          (^C)
                                          (^BM^CONS
                                           (^A)
                                           (^BM^CONS
                                            (^L)
                                            (^BM^CONS
                                             (^-)
                                             (^BM^CONS
                                              (^B)
                                              (^BM^CONS
                                               (^A)
                                               (^BM^CONS
                                                (^R)
                                                (^BM^ZERO))))))))))))))))))
                         (^BM^LEXEMES
                          (^BM^SKIP-PAST-BALANCING-VERTICAL-BAR-NUMBER-SIGN
                           (^BM^CDRN (^INT (^BM^CONS (^2) (^BM^ZERO))) STREAM)
                           (^INT (^BM^CONS (^1) (^BM^ZERO))))
                          (^INT (^BM^ZERO)))
                         (^BM^LEXEMES (^BM^CDR STREAM)
                          (^BM^CONS (^BM^UPCASE (^BM^CAR STREAM)) PNAME)))))))))

(DEFINE (^BM^TOP-PSTK STACK) (IF (^BM^LISTP STACK) (^BM^CAR STACK) (^BM^FALSE)))

(DEFINE (^BM^POP-PSTK STACK) (IF (^BM^LISTP STACK) (^BM^CDR STACK) (^BM^FALSE)))

(DEFINE (^BM^PUSH-PSTK X STACK)
 (IF (EQUAL STACK (^BM^FALSE)) (^BM^FALSE) (^BM^CONS X STACK)))

(DEFINE (^BM^EMPTY-PSTK X) (^BM^NLISTP X))

(DEFINE (^BM^DOT-CRITERION I X)
 (IF (^BM^NLISTP X)
     (^BM^TRUE)
     (IF (EQUAL (^BM^CAR X) (^BM^DOT-TOKEN))
         (^BM^AND (^BM^NOT (^BM^ZEROP I))
          (^BM^AND (^BM^LISTP (^BM^CDR X)) (^BM^NLISTP (^BM^CDR (^BM^CDR X)))))
         (^BM^DOT-CRITERION (^BM^ADD1 I) (^BM^CDR X)))))

(DEFINE (^BM^ADD-ELEMENT-TO-TOP X STACK)
 (IF (^BM^EMPTY-PSTK STACK)
     (^BM^FALSE)
     (IF (^BM^NOT (^BM^DOT-CRITERION (^INT (^BM^ZERO)) X))
         (^BM^FALSE)
         (IF (^BM^SPECIAL-TOKEN (^BM^TOP-PSTK STACK))
             (^BM^ADD-ELEMENT-TO-TOP (^BM^LIST2 (^BM^TOP-PSTK STACK) X)
              (^BM^POP-PSTK STACK))
             (^BM^PUSH-PSTK (^BM^APPEND (^BM^TOP-PSTK STACK) (^BM^LIST1 X))
              (^BM^POP-PSTK STACK))))))

(DEFINE (^BM^STOP STACK)
 (IF (^BM^AND (^BM^EQLEN STACK (^INT (^BM^CONS (^1) (^BM^ZERO))))
      (^BM^AND
       (^BM^EQLEN (^BM^TOP-PSTK STACK) (^INT (^BM^CONS (^1) (^BM^ZERO))))
       (^BM^NOT (EQUAL (^BM^CAR (^BM^TOP-PSTK STACK)) (^BM^DOT-TOKEN)))))
     (^BM^CAR (^BM^TOP-PSTK STACK))
     (^BM^FALSE)))

(DEFINE (^BM^PARSE LEXEMES STACK)
 (IF (^BM^NLISTP LEXEMES)
     (^BM^STOP STACK)
     (IF (EQUAL (^BM^CAR LEXEMES) (^BM^OPEN-PAREN))
         (^BM^PARSE (^BM^CDR LEXEMES) (^BM^PUSH-PSTK (^NIL) STACK))
         (IF (^BM^SPECIAL-TOKEN (^BM^CAR LEXEMES))
             (^BM^PARSE (^BM^CDR LEXEMES)
              (^BM^PUSH-PSTK (^BM^CAR LEXEMES) STACK))
             (IF (EQUAL (^BM^CAR LEXEMES) (^BM^CLOSE-PAREN))
                 (^BM^PARSE (^BM^CDR LEXEMES)
                  (^BM^ADD-ELEMENT-TO-TOP (^BM^TOP-PSTK STACK)
                   (^BM^POP-PSTK STACK)))
                 (^BM^PARSE (^BM^CDR LEXEMES)
                  (^BM^ADD-ELEMENT-TO-TOP (^BM^CAR LEXEMES) STACK)))))))

(DEFINE (^BM^READ-TOKEN-TREE STREAM)
 (IF (^BM^TOKEN-TREE
      (^BM^PARSE (^BM^LEXEMES STREAM (^INT (^BM^ZERO)))
       (^BM^CONS (^NIL) (^NIL))))
     (^BM^PARSE (^BM^LEXEMES STREAM (^INT (^BM^ZERO)))
      (^BM^CONS (^NIL) (^NIL)))
     (^BM^FALSE)))

(DEFINE (^BM^READABLE X N)
 (IF (^BM^NLISTP X)
     (^BM^NOT (EQUAL X (^BM^FALSE)))
     (IF (^BM^SINGLE-QUOTE-TOKEN-TREE X)
         (^BM^READABLE (^BM^CONSTITUENT X) N)
         (IF (^BM^BACKQUOTE-TOKEN-TREE X)
             (^BM^AND (^BM^READABLE (^BM^CONSTITUENT X) (^BM^ADD1 N))
              (^BM^NOT (^BM^SPLICE-ESCAPE-TOKEN-TREE (^BM^CONSTITUENT X))))
             (IF (^BM^OR (^BM^COMMA-ESCAPE-TOKEN-TREE X)
                  (^BM^SPLICE-ESCAPE-TOKEN-TREE X))
                 (^BM^AND (^BM^LESSP (^INT (^BM^ZERO)) N)
                  (^BM^READABLE (^BM^CONSTITUENT X) (^BM^SUB1 N)))
                 (IF (^BM^DOTTED-PAIR X)
                     (^BM^AND (^BM^READABLE (^BM^CAR X) N)
                      (^BM^AND
                       (^BM^READABLE
                        (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X) N)
                       (^BM^NOT
                        (^BM^SPLICE-ESCAPE-TOKEN-TREE
                         (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X)))))
                     (IF (^BM^SINGLETON X)
                         (^BM^READABLE (^BM^CAR X) N)
                         (^BM^AND (^BM^READABLE (^BM^CAR X) N)
                          (^BM^READABLE (^BM^CDR X) N)))))))))

(DEFINE (^BM^S-EXPRESSION X)
 (IF (^BM^NLISTP X)
     (IF (EQUAL X (^BM^FALSE)) (^BM^FALSE) (^BM^NOT (^BM^NUMERIC-WORD X)))
     (IF (^BM^SPECIAL-TOKEN-TREE X)
         (^BM^FALSE)
         (IF (^BM^DOTTED-PAIR X)
             (^BM^AND (^BM^S-EXPRESSION (^BM^CAR X))
              (^BM^S-EXPRESSION
               (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X)))
             (IF (^BM^SINGLETON X)
                 (^BM^S-EXPRESSION (^BM^CAR X))
                 (^BM^AND (^BM^S-EXPRESSION (^BM^CAR X))
                  (^BM^S-EXPRESSION (^BM^CDR X))))))))

(DEFINE (^BM^BACKQUOTE-EXPANSION FLG X)
 (IF FLG
     (IF (^BM^NLISTP X)
         (^BM^LIST2
          (^BM^PACK
           (^BM^CONS (^Q)
            (^BM^CONS (^U)
             (^BM^CONS (^O) (^BM^CONS (^T) (^BM^CONS (^E) (^BM^ZERO)))))))
          X)
         (IF (^BM^OR (^BM^COMMA-ESCAPE-TOKEN-TREE X)
              (^BM^SPLICE-ESCAPE-TOKEN-TREE X))
             (^BM^CONSTITUENT X)
             (^BM^BACKQUOTE-EXPANSION (^BM^FALSE) X)))
     (IF (^BM^NLISTP X)
         (^BM^PACK
          (^BM^CONS (^I)
           (^BM^CONS (^M)
            (^BM^CONS (^P)
             (^BM^CONS (^O)
              (^BM^CONS (^S)
               (^BM^CONS (^S)
                (^BM^CONS (^I)
                 (^BM^CONS (^B)
                  (^BM^CONS (^L)
                   (^BM^CONS (^E)
                    (^BM^CONS (^-)
                     (^BM^CONS (^I)
                      (^BM^CONS (^F)
                       (^BM^CONS (^-)
                        (^BM^CONS (^X)
                         (^BM^CONS (^-)
                          (^BM^CONS (^I)
                           (^BM^CONS (^S)
                            (^BM^CONS (^-)
                             (^BM^CONS (^A)
                              (^BM^CONS (^-)
                               (^BM^CONS (^D)
                                (^BM^CONS (^O)
                                 (^BM^CONS (^T)
                                  (^BM^CONS (^T)
                                   (^BM^CONS (^E)
                                    (^BM^CONS (^D)
                                     (^BM^CONS (^-)
                                      (^BM^CONS (^O)
                                       (^BM^CONS
                                        (^R)
                                        (^BM^CONS
                                         (^-)
                                         (^BM^CONS
                                          (^U)
                                          (^BM^CONS
                                           (^N)
                                           (^BM^CONS
                                            (^D)
                                            (^BM^CONS
                                             (^O)
                                             (^BM^CONS
                                              (^T)
                                              (^BM^CONS
                                               (^T)
                                               (^BM^CONS
                                                (^E)
                                                (^BM^CONS
                                                 (^D)
                                                 (^BM^CONS
                                                  (^-)
                                                  (^BM^CONS
                                                   (^T)
                                                   (^BM^CONS
                                                    (^O)
                                                    (^BM^CONS
                                                     (^K)
                                                     (^BM^CONS
                                                      (^E)
                                                      (^BM^CONS
                                                       (^N)
                                                       (^BM^CONS
                                                        (^-)
                                                        (^BM^CONS
                                                         (^T)
                                                         (^BM^CONS
                                                          (^R)
                                                          (^BM^CONS
                                                           (^E)
                                                           (^BM^CONS
                                                            (^E)
                                                            (^BM^ZERO))))))))))))))))))))))))))))))))))))))))))))))))))))
         (^BM^LIST3
          (IF (^BM^SPLICE-ESCAPE-TOKEN-TREE (^BM^CAR X))
              (^BM^PACK
               (^BM^CONS (^A)
                (^BM^CONS (^P)
                 (^BM^CONS (^P)
                  (^BM^CONS (^E)
                   (^BM^CONS (^N) (^BM^CONS (^D) (^BM^ZERO))))))))
              (^BM^PACK
               (^BM^CONS (^C)
                (^BM^CONS (^O) (^BM^CONS (^N) (^BM^CONS (^S) (^BM^ZERO)))))))
          (^BM^BACKQUOTE-EXPANSION (^BM^TRUE) (^BM^CAR X))
          (IF (^BM^SINGLETON X)
              (^BM^LIST2
               (^BM^PACK
                (^BM^CONS (^Q)
                 (^BM^CONS (^U)
                  (^BM^CONS (^O) (^BM^CONS (^T) (^BM^CONS (^E) (^BM^ZERO)))))))
               (^BM^PACK
                (^BM^CONS (^N) (^BM^CONS (^I) (^BM^CONS (^L) (^BM^ZERO))))))
              (IF (^BM^DOTTED-PAIR X)
                  (^BM^BACKQUOTE-EXPANSION (^BM^TRUE)
                   (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X))
                  (^BM^BACKQUOTE-EXPANSION (^BM^FALSE) (^BM^CDR X))))))))

(DEFINE (^BM^READMACRO-EXPANSION X)
 (IF (^BM^NLISTP X)
     (IF (^BM^NUMERIC-WORD X) (^BM^NUMERIC-WORD-VALUE X) X)
     (IF (^BM^SINGLE-QUOTE-TOKEN-TREE X)
         (^BM^LIST2
          (^BM^PACK
           (^BM^CONS (^Q)
            (^BM^CONS (^U)
             (^BM^CONS (^O) (^BM^CONS (^T) (^BM^CONS (^E) (^BM^ZERO)))))))
          (^BM^READMACRO-EXPANSION (^BM^CONSTITUENT X)))
         (IF (^BM^BACKQUOTE-TOKEN-TREE X)
             (^BM^BACKQUOTE-EXPANSION (^BM^TRUE)
              (^BM^READMACRO-EXPANSION (^BM^CONSTITUENT X)))
             (IF (^BM^DOTTED-PAIR X)
                 (IF (^BM^OR
                      (^BM^AND
                       (^BM^NLISTP
                        (^BM^READMACRO-EXPANSION
                         (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X)))
                       (^BM^NOT
                        (EQUAL (^BM^READMACRO-EXPANSION
                                (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO)))
                                 X))
                               (^BM^PACK
                                (^BM^CONS (^N)
                                 (^BM^CONS (^I)
                                  (^BM^CONS (^L) (^BM^ZERO))))))))
                      (^BM^SPECIAL-TOKEN-TREE
                       (^BM^READMACRO-EXPANSION
                        (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X))))
                     (^BM^LIST3 (^BM^READMACRO-EXPANSION (^BM^CAR X))
                      (^BM^DOT-TOKEN)
                      (^BM^READMACRO-EXPANSION
                       (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X)))
                     (^BM^CONS (^BM^READMACRO-EXPANSION (^BM^CAR X))
                      (^BM^READMACRO-EXPANSION
                       (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X))))
                 (IF (^BM^SINGLETON X)
                     (^BM^LIST1 (^BM^READMACRO-EXPANSION (^BM^CAR X)))
                     (^BM^CONS (^BM^READMACRO-EXPANSION (^BM^CAR X))
                      (^BM^READMACRO-EXPANSION (^BM^CDR X)))))))))

(DEFINE (^BM^CORRESPONDING-NUMBERP N)
 (IF (^BM^ZEROP N)
     (^BM^LIST1
      (^BM^PACK
       (^BM^CONS (^Z)
        (^BM^CONS (^E) (^BM^CONS (^R) (^BM^CONS (^O) (^BM^ZERO)))))))
     (^BM^LIST2
      (^BM^PACK
       (^BM^CONS (^A)
        (^BM^CONS (^D) (^BM^CONS (^D) (^BM^CONS (^N1) (^BM^ZERO))))))
      (^BM^CORRESPONDING-NUMBERP (^BM^SUB1 N)))))

(DEFINE (^BM^CORRESPONDING-NEGATIVEP N)
 (^BM^LIST2
  (^BM^PACK
   (^BM^CONS (^M)
    (^BM^CONS (^I)
     (^BM^CONS (^N) (^BM^CONS (^U) (^BM^CONS (^S) (^BM^ZERO)))))))
  (^BM^CORRESPONDING-NUMBERP (^BM^NEGATIVE-GUTS N))))

(DEFINE (^BM^A-D-SEQUENCEP LST)
 (IF (^BM^NLISTP LST)
     (^BM^TRUE)
     (IF (^BM^OR
          (EQUAL (^BM^CAR LST)
                 (^BM^ASCII
                  (^BM^PACK
                   (^BM^CONS (^U)
                    (^BM^CONS (^P)
                     (^BM^CONS (^P)
                      (^BM^CONS (^E)
                       (^BM^CONS (^R)
                        (^BM^CONS (^-) (^BM^CONS (^A) (^BM^ZERO)))))))))))
          (EQUAL (^BM^CAR LST)
                 (^BM^ASCII
                  (^BM^PACK
                   (^BM^CONS (^U)
                    (^BM^CONS (^P)
                     (^BM^CONS (^P)
                      (^BM^CONS (^E)
                       (^BM^CONS (^R)
                        (^BM^CONS (^-) (^BM^CONS (^D) (^BM^ZERO))))))))))))
         (^BM^A-D-SEQUENCEP (^BM^CDR LST))
         (^BM^FALSE))))

(DEFINE (^BM^CAR-CDR-SYMBOLP X)
 (^BM^AND (^BM^LITATOM X)
  (^BM^AND
   (EQUAL (^BM^CAR (^BM^UNPACK X))
          (^BM^ASCII
           (^BM^PACK
            (^BM^CONS (^U)
             (^BM^CONS (^P)
              (^BM^CONS (^P)
               (^BM^CONS (^E)
                (^BM^CONS (^R)
                 (^BM^CONS (^-) (^BM^CONS (^C) (^BM^ZERO)))))))))))
   (^BM^AND
    (EQUAL (^BM^CAR (^BM^LAST (^BM^UNPACK X)))
           (^BM^ASCII
            (^BM^PACK
             (^BM^CONS (^U)
              (^BM^CONS (^P)
               (^BM^CONS (^P)
                (^BM^CONS (^E)
                 (^BM^CONS (^R)
                  (^BM^CONS (^-) (^BM^CONS (^R) (^BM^ZERO)))))))))))
    (^BM^A-D-SEQUENCEP (^BM^ALL-BUT-LAST (^BM^CDR (^BM^UNPACK X))))))))

(DEFINE (^BM^A-D-SEQUENCE X) (^BM^ALL-BUT-LAST (^BM^CDR (^BM^UNPACK X))))

(DEFINE (^BM^CAR-CDR-NEST LST X)
 (IF (^BM^NLISTP LST)
     X
     (IF (EQUAL (^BM^CAR LST)
                (^BM^ASCII
                 (^BM^PACK
                  (^BM^CONS (^U)
                   (^BM^CONS (^P)
                    (^BM^CONS (^P)
                     (^BM^CONS (^E)
                      (^BM^CONS (^R)
                       (^BM^CONS (^-) (^BM^CONS (^A) (^BM^ZERO)))))))))))
         (^BM^LIST2
          (^BM^PACK (^BM^CONS (^C) (^BM^CONS (^A) (^BM^CONS (^R) (^BM^ZERO)))))
          (^BM^CAR-CDR-NEST (^BM^CDR LST) X))
         (^BM^LIST2
          (^BM^PACK (^BM^CONS (^C) (^BM^CONS (^D) (^BM^CONS (^R) (^BM^ZERO)))))
          (^BM^CAR-CDR-NEST (^BM^CDR LST) X)))))

(DEFINE (^BM^FCONS X Y) (IF (^BM^AND X Y) (^BM^CONS X Y) (^BM^FALSE)))

(DEFINE (^BM^FLIST1 X) (^BM^FCONS X (^NIL)))

(DEFINE (^BM^FLIST2 X Y) (^BM^FCONS X (^BM^FLIST1 Y)))

(DEFINE (^BM^FLIST3 X Y Z) (^BM^FCONS X (^BM^FLIST2 Y Z)))

(DEFINE (^BM^FLIST4 X Y Z W) (^BM^FCONS X (^BM^FLIST3 Y Z W)))

(DEFINE (^BM^FLIST5 X Y Z W V) (^BM^FCONS X (^BM^FLIST4 Y Z W V)))

(DEFINE (^BM^FLIST6 X Y Z W V U) (^BM^FCONS X (^BM^FLIST5 Y Z W V U)))

(DEFINE (^BM^FLIST7 X Y Z W V U R) (^BM^FCONS X (^BM^FLIST6 Y Z W V U R)))

(DEFINE (^BM^FN-NEST FN LST X)
 (IF (^BM^NLISTP LST)
     X
     (^BM^FLIST3 FN (^BM^CAR LST) (^BM^FN-NEST FN (^BM^CDR LST) X))))

(DEFINE (^BM^CORRESPONDING-NUMBERPS LST)
 (IF (^BM^NLISTP LST)
     (^NIL)
     (^BM^CONS (^BM^CORRESPONDING-NUMBERP (^BM^CAR LST))
      (^BM^CORRESPONDING-NUMBERPS (^BM^CDR LST)))))

(DEFINE (^BM^EXPLOSION LST)
 (^BM^FN-NEST
  (^BM^PACK
   (^BM^CONS (^C) (^BM^CONS (^O) (^BM^CONS (^N) (^BM^CONS (^S) (^BM^ZERO))))))
  (^BM^CORRESPONDING-NUMBERPS LST)
  (^BM^LIST1
   (^BM^PACK
    (^BM^CONS (^Z)
     (^BM^CONS (^E) (^BM^CONS (^R) (^BM^CONS (^O) (^BM^ZERO)))))))))

(DEFINE (^BM^CORRESPONDING-LITATOM X)
 (^BM^LIST2
  (^BM^PACK
   (^BM^CONS (^P) (^BM^CONS (^A) (^BM^CONS (^C) (^BM^CONS (^K) (^BM^ZERO))))))
  (^BM^EXPLOSION (^BM^UNPACK X))))

(DEFINE (^BM^STAR-ONE-STAR X)
 (^BM^PACK
  (^BM^APPEND
   (^BM^ASCII
    (^BM^CONS
     (^BM^PACK
      (^BM^CONS (^A)
       (^BM^CONS (^S)
        (^BM^CONS (^T)
         (^BM^CONS (^E)
          (^BM^CONS (^R)
           (^BM^CONS (^I) (^BM^CONS (^S) (^BM^CONS (^K) (^BM^ZERO))))))))))
     (^BM^CONS
      (^BM^PACK
       (^BM^CONS (^D)
        (^BM^CONS (^I)
         (^BM^CONS (^G)
          (^BM^CONS (^I)
           (^BM^CONS (^T)
            (^BM^CONS (^-)
             (^BM^CONS (^O) (^BM^CONS (^N) (^BM^CONS (^E) (^BM^ZERO)))))))))))
      (^BM^CONS
       (^BM^PACK
        (^BM^CONS (^A)
         (^BM^CONS (^S)
          (^BM^CONS (^T)
           (^BM^CONS (^E)
            (^BM^CONS (^R)
             (^BM^CONS (^I) (^BM^CONS (^S) (^BM^CONS (^K) (^BM^ZERO))))))))))
       (^BM^PACK
        (^BM^CONS (^N) (^BM^CONS (^I) (^BM^CONS (^L) (^BM^ZERO)))))))))
   (^BM^UNPACK X))))

(DEFINE (^BM^ASCII-UPPER-ALPHABETICS)
 (^BM^ASCII
  (^BM^CONS
   (^BM^PACK
    (^BM^CONS (^U)
     (^BM^CONS (^P)
      (^BM^CONS (^P)
       (^BM^CONS (^E)
        (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^A) (^BM^ZERO)))))))))
   (^BM^CONS
    (^BM^PACK
     (^BM^CONS (^U)
      (^BM^CONS (^P)
       (^BM^CONS (^P)
        (^BM^CONS (^E)
         (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^B) (^BM^ZERO)))))))))
    (^BM^CONS
     (^BM^PACK
      (^BM^CONS (^U)
       (^BM^CONS (^P)
        (^BM^CONS (^P)
         (^BM^CONS (^E)
          (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^C) (^BM^ZERO)))))))))
     (^BM^CONS
      (^BM^PACK
       (^BM^CONS (^U)
        (^BM^CONS (^P)
         (^BM^CONS (^P)
          (^BM^CONS (^E)
           (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^D) (^BM^ZERO)))))))))
      (^BM^CONS
       (^BM^PACK
        (^BM^CONS (^U)
         (^BM^CONS (^P)
          (^BM^CONS (^P)
           (^BM^CONS (^E)
            (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^E) (^BM^ZERO)))))))))
       (^BM^CONS
        (^BM^PACK
         (^BM^CONS (^U)
          (^BM^CONS (^P)
           (^BM^CONS (^P)
            (^BM^CONS (^E)
             (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^F) (^BM^ZERO)))))))))
        (^BM^CONS
         (^BM^PACK
          (^BM^CONS (^U)
           (^BM^CONS (^P)
            (^BM^CONS (^P)
             (^BM^CONS (^E)
              (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^G) (^BM^ZERO)))))))))
         (^BM^CONS
          (^BM^PACK
           (^BM^CONS (^U)
            (^BM^CONS (^P)
             (^BM^CONS (^P)
              (^BM^CONS (^E)
               (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^H) (^BM^ZERO)))))))))
          (^BM^CONS
           (^BM^PACK
            (^BM^CONS (^U)
             (^BM^CONS (^P)
              (^BM^CONS (^P)
               (^BM^CONS (^E)
                (^BM^CONS (^R) (^BM^CONS (^-) (^BM^CONS (^I) (^BM^ZERO)))))))))
           (^BM^CONS
            (^BM^PACK
             (^BM^CONS (^U)
              (^BM^CONS (^P)
               (^BM^CONS (^P)
                (^BM^CONS (^E)
                 (^BM^CONS (^R)
                  (^BM^CONS (^-) (^BM^CONS (^J) (^BM^ZERO)))))))))
            (^BM^CONS
             (^BM^PACK
              (^BM^CONS (^U)
               (^BM^CONS (^P)
                (^BM^CONS (^P)
                 (^BM^CONS (^E)
                  (^BM^CONS (^R)
                   (^BM^CONS (^-) (^BM^CONS (^K) (^BM^ZERO)))))))))
             (^BM^CONS
              (^BM^PACK
               (^BM^CONS (^U)
                (^BM^CONS (^P)
                 (^BM^CONS (^P)
                  (^BM^CONS (^E)
                   (^BM^CONS (^R)
                    (^BM^CONS (^-) (^BM^CONS (^L) (^BM^ZERO)))))))))
              (^BM^CONS
               (^BM^PACK
                (^BM^CONS (^U)
                 (^BM^CONS (^P)
                  (^BM^CONS (^P)
                   (^BM^CONS (^E)
                    (^BM^CONS (^R)
                     (^BM^CONS (^-) (^BM^CONS (^M) (^BM^ZERO)))))))))
               (^BM^CONS
                (^BM^PACK
                 (^BM^CONS (^U)
                  (^BM^CONS (^P)
                   (^BM^CONS (^P)
                    (^BM^CONS (^E)
                     (^BM^CONS (^R)
                      (^BM^CONS (^-) (^BM^CONS (^N) (^BM^ZERO)))))))))
                (^BM^CONS
                 (^BM^PACK
                  (^BM^CONS (^U)
                   (^BM^CONS (^P)
                    (^BM^CONS (^P)
                     (^BM^CONS (^E)
                      (^BM^CONS (^R)
                       (^BM^CONS (^-) (^BM^CONS (^O) (^BM^ZERO)))))))))
                 (^BM^CONS
                  (^BM^PACK
                   (^BM^CONS (^U)
                    (^BM^CONS (^P)
                     (^BM^CONS (^P)
                      (^BM^CONS (^E)
                       (^BM^CONS (^R)
                        (^BM^CONS (^-) (^BM^CONS (^P) (^BM^ZERO)))))))))
                  (^BM^CONS
                   (^BM^PACK
                    (^BM^CONS (^U)
                     (^BM^CONS (^P)
                      (^BM^CONS (^P)
                       (^BM^CONS (^E)
                        (^BM^CONS (^R)
                         (^BM^CONS (^-) (^BM^CONS (^Q) (^BM^ZERO)))))))))
                   (^BM^CONS
                    (^BM^PACK
                     (^BM^CONS (^U)
                      (^BM^CONS (^P)
                       (^BM^CONS (^P)
                        (^BM^CONS (^E)
                         (^BM^CONS (^R)
                          (^BM^CONS (^-) (^BM^CONS (^R) (^BM^ZERO)))))))))
                    (^BM^CONS
                     (^BM^PACK
                      (^BM^CONS (^U)
                       (^BM^CONS (^P)
                        (^BM^CONS (^P)
                         (^BM^CONS (^E)
                          (^BM^CONS (^R)
                           (^BM^CONS (^-) (^BM^CONS (^S) (^BM^ZERO)))))))))
                     (^BM^CONS
                      (^BM^PACK
                       (^BM^CONS (^U)
                        (^BM^CONS (^P)
                         (^BM^CONS (^P)
                          (^BM^CONS (^E)
                           (^BM^CONS (^R)
                            (^BM^CONS (^-) (^BM^CONS (^T) (^BM^ZERO)))))))))
                      (^BM^CONS
                       (^BM^PACK
                        (^BM^CONS (^U)
                         (^BM^CONS (^P)
                          (^BM^CONS (^P)
                           (^BM^CONS (^E)
                            (^BM^CONS (^R)
                             (^BM^CONS (^-) (^BM^CONS (^U) (^BM^ZERO)))))))))
                       (^BM^CONS
                        (^BM^PACK
                         (^BM^CONS (^U)
                          (^BM^CONS (^P)
                           (^BM^CONS (^P)
                            (^BM^CONS (^E)
                             (^BM^CONS (^R)
                              (^BM^CONS (^-) (^BM^CONS (^V) (^BM^ZERO)))))))))
                        (^BM^CONS
                         (^BM^PACK
                          (^BM^CONS (^U)
                           (^BM^CONS (^P)
                            (^BM^CONS (^P)
                             (^BM^CONS (^E)
                              (^BM^CONS (^R)
                               (^BM^CONS (^-) (^BM^CONS (^W) (^BM^ZERO)))))))))
                         (^BM^CONS
                          (^BM^PACK
                           (^BM^CONS (^U)
                            (^BM^CONS (^P)
                             (^BM^CONS (^P)
                              (^BM^CONS (^E)
                               (^BM^CONS (^R)
                                (^BM^CONS (^-)
                                 (^BM^CONS (^X) (^BM^ZERO)))))))))
                          (^BM^CONS
                           (^BM^PACK
                            (^BM^CONS (^U)
                             (^BM^CONS (^P)
                              (^BM^CONS (^P)
                               (^BM^CONS (^E)
                                (^BM^CONS (^R)
                                 (^BM^CONS (^-)
                                  (^BM^CONS (^Y) (^BM^ZERO)))))))))
                           (^BM^CONS
                            (^BM^PACK
                             (^BM^CONS (^U)
                              (^BM^CONS (^P)
                               (^BM^CONS (^P)
                                (^BM^CONS (^E)
                                 (^BM^CONS (^R)
                                  (^BM^CONS (^-)
                                   (^BM^CONS (^Z) (^BM^ZERO)))))))))
                            (^BM^PACK
                             (^BM^CONS (^N)
                              (^BM^CONS (^I)
                               (^BM^CONS (^L)
                                (^BM^ZERO)))))))))))))))))))))))))))))))))

(DEFINE (^BM^ASCII-DIGITS-AND-SIGNS)
 (^BM^ASCII
  (^BM^CONS
   (^BM^PACK
    (^BM^CONS (^D)
     (^BM^CONS (^I)
      (^BM^CONS (^G)
       (^BM^CONS (^I)
        (^BM^CONS (^T)
         (^BM^CONS (^-)
          (^BM^CONS (^O) (^BM^CONS (^N) (^BM^CONS (^E) (^BM^ZERO)))))))))))
   (^BM^CONS
    (^BM^PACK
     (^BM^CONS (^D)
      (^BM^CONS (^I)
       (^BM^CONS (^G)
        (^BM^CONS (^I)
         (^BM^CONS (^T)
          (^BM^CONS (^-)
           (^BM^CONS (^T) (^BM^CONS (^W) (^BM^CONS (^O) (^BM^ZERO)))))))))))
    (^BM^CONS
     (^BM^PACK
      (^BM^CONS (^D)
       (^BM^CONS (^I)
        (^BM^CONS (^G)
         (^BM^CONS (^I)
          (^BM^CONS (^T)
           (^BM^CONS (^-)
            (^BM^CONS (^T)
             (^BM^CONS (^H)
              (^BM^CONS (^R)
               (^BM^CONS (^E) (^BM^CONS (^E) (^BM^ZERO)))))))))))))
     (^BM^CONS
      (^BM^PACK
       (^BM^CONS (^D)
        (^BM^CONS (^I)
         (^BM^CONS (^G)
          (^BM^CONS (^I)
           (^BM^CONS (^T)
            (^BM^CONS (^-)
             (^BM^CONS (^F)
              (^BM^CONS (^O)
               (^BM^CONS (^U) (^BM^CONS (^R) (^BM^ZERO))))))))))))
      (^BM^CONS
       (^BM^PACK
        (^BM^CONS (^D)
         (^BM^CONS (^I)
          (^BM^CONS (^G)
           (^BM^CONS (^I)
            (^BM^CONS (^T)
             (^BM^CONS (^-)
              (^BM^CONS (^F)
               (^BM^CONS (^I)
                (^BM^CONS (^V) (^BM^CONS (^E) (^BM^ZERO))))))))))))
       (^BM^CONS
        (^BM^PACK
         (^BM^CONS (^D)
          (^BM^CONS (^I)
           (^BM^CONS (^G)
            (^BM^CONS (^I)
             (^BM^CONS (^T)
              (^BM^CONS (^-)
               (^BM^CONS (^S)
                (^BM^CONS (^I) (^BM^CONS (^X) (^BM^ZERO)))))))))))
        (^BM^CONS
         (^BM^PACK
          (^BM^CONS (^D)
           (^BM^CONS (^I)
            (^BM^CONS (^G)
             (^BM^CONS (^I)
              (^BM^CONS (^T)
               (^BM^CONS (^-)
                (^BM^CONS (^S)
                 (^BM^CONS (^E)
                  (^BM^CONS (^V)
                   (^BM^CONS (^E) (^BM^CONS (^N) (^BM^ZERO)))))))))))))
         (^BM^CONS
          (^BM^PACK
           (^BM^CONS (^D)
            (^BM^CONS (^I)
             (^BM^CONS (^G)
              (^BM^CONS (^I)
               (^BM^CONS (^T)
                (^BM^CONS (^-)
                 (^BM^CONS (^E)
                  (^BM^CONS (^I)
                   (^BM^CONS (^G)
                    (^BM^CONS (^H) (^BM^CONS (^T) (^BM^ZERO)))))))))))))
          (^BM^CONS
           (^BM^PACK
            (^BM^CONS (^D)
             (^BM^CONS (^I)
              (^BM^CONS (^G)
               (^BM^CONS (^I)
                (^BM^CONS (^T)
                 (^BM^CONS (^-)
                  (^BM^CONS (^N)
                   (^BM^CONS (^I)
                    (^BM^CONS (^N) (^BM^CONS (^E) (^BM^ZERO))))))))))))
           (^BM^CONS
            (^BM^PACK
             (^BM^CONS (^D)
              (^BM^CONS (^O)
               (^BM^CONS (^L)
                (^BM^CONS (^L)
                 (^BM^CONS (^A)
                  (^BM^CONS (^R)
                   (^BM^CONS (^-)
                    (^BM^CONS (^S)
                     (^BM^CONS (^I)
                      (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO)))))))))))))
            (^BM^CONS
             (^BM^PACK
              (^BM^CONS (^U)
               (^BM^CONS (^P)
                (^BM^CONS (^A)
                 (^BM^CONS (^R)
                  (^BM^CONS (^R)
                   (^BM^CONS (^O) (^BM^CONS (^W) (^BM^ZERO)))))))))
             (^BM^CONS
              (^BM^PACK
               (^BM^CONS (^A)
                (^BM^CONS (^M)
                 (^BM^CONS (^P)
                  (^BM^CONS (^E)
                   (^BM^CONS (^R)
                    (^BM^CONS (^S)
                     (^BM^CONS (^A)
                      (^BM^CONS (^N) (^BM^CONS (^D) (^BM^ZERO)))))))))))
              (^BM^CONS
               (^BM^PACK
                (^BM^CONS (^A)
                 (^BM^CONS (^S)
                  (^BM^CONS (^T)
                   (^BM^CONS (^E)
                    (^BM^CONS (^R)
                     (^BM^CONS (^I)
                      (^BM^CONS (^S) (^BM^CONS (^K) (^BM^ZERO))))))))))
               (^BM^CONS
                (^BM^PACK
                 (^BM^CONS (^U)
                  (^BM^CONS (^N)
                   (^BM^CONS (^D)
                    (^BM^CONS (^E)
                     (^BM^CONS (^R)
                      (^BM^CONS (^S)
                       (^BM^CONS (^C)
                        (^BM^CONS (^O)
                         (^BM^CONS (^R) (^BM^CONS (^E) (^BM^ZERO))))))))))))
                (^BM^CONS
                 (^BM^PACK
                  (^BM^CONS (^M)
                   (^BM^CONS (^I)
                    (^BM^CONS (^N)
                     (^BM^CONS (^U)
                      (^BM^CONS (^S)
                       (^BM^CONS (^-)
                        (^BM^CONS (^S)
                         (^BM^CONS (^I)
                          (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO))))))))))))
                 (^BM^CONS
                  (^BM^PACK
                   (^BM^CONS (^P)
                    (^BM^CONS (^L)
                     (^BM^CONS (^U)
                      (^BM^CONS (^S)
                       (^BM^CONS (^-)
                        (^BM^CONS (^S)
                         (^BM^CONS (^I)
                          (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO)))))))))))
                  (^BM^CONS
                   (^BM^PACK
                    (^BM^CONS (^E)
                     (^BM^CONS (^Q)
                      (^BM^CONS (^U)
                       (^BM^CONS (^A)
                        (^BM^CONS (^L)
                         (^BM^CONS (^-)
                          (^BM^CONS (^S)
                           (^BM^CONS (^I)
                            (^BM^CONS (^G) (^BM^CONS (^N) (^BM^ZERO))))))))))))
                   (^BM^CONS
                    (^BM^PACK
                     (^BM^CONS (^T)
                      (^BM^CONS (^I)
                       (^BM^CONS (^L)
                        (^BM^CONS (^D) (^BM^CONS (^E) (^BM^ZERO)))))))
                    (^BM^CONS
                     (^BM^PACK
                      (^BM^CONS (^O)
                       (^BM^CONS (^P)
                        (^BM^CONS (^E)
                         (^BM^CONS (^N)
                          (^BM^CONS (^-)
                           (^BM^CONS (^B)
                            (^BM^CONS (^R)
                             (^BM^CONS (^A)
                              (^BM^CONS (^C)
                               (^BM^CONS (^E) (^BM^ZERO))))))))))))
                     (^BM^CONS
                      (^BM^PACK
                       (^BM^CONS (^C)
                        (^BM^CONS (^L)
                         (^BM^CONS (^O)
                          (^BM^CONS (^S)
                           (^BM^CONS (^E)
                            (^BM^CONS (^-)
                             (^BM^CONS (^B)
                              (^BM^CONS (^R)
                               (^BM^CONS (^A)
                                (^BM^CONS (^C)
                                 (^BM^CONS (^E) (^BM^ZERO)))))))))))))
                      (^BM^CONS
                       (^BM^PACK
                        (^BM^CONS (^Q)
                         (^BM^CONS (^U)
                          (^BM^CONS (^E)
                           (^BM^CONS (^S)
                            (^BM^CONS (^T)
                             (^BM^CONS (^I)
                              (^BM^CONS (^O)
                               (^BM^CONS (^N)
                                (^BM^CONS (^-)
                                 (^BM^CONS (^M)
                                  (^BM^CONS (^A)
                                   (^BM^CONS (^R)
                                    (^BM^CONS (^K) (^BM^ZERO)))))))))))))))
                       (^BM^CONS
                        (^BM^PACK
                         (^BM^CONS (^L)
                          (^BM^CONS (^E)
                           (^BM^CONS (^S)
                            (^BM^CONS (^S)
                             (^BM^CONS (^-)
                              (^BM^CONS (^T)
                               (^BM^CONS (^H)
                                (^BM^CONS (^A)
                                 (^BM^CONS (^N)
                                  (^BM^CONS (^-)
                                   (^BM^CONS (^S)
                                    (^BM^CONS (^I)
                                     (^BM^CONS (^G)
                                      (^BM^CONS (^N) (^BM^ZERO))))))))))))))))
                        (^BM^CONS
                         (^BM^PACK
                          (^BM^CONS (^G)
                           (^BM^CONS (^R)
                            (^BM^CONS (^E)
                             (^BM^CONS (^A)
                              (^BM^CONS (^T)
                               (^BM^CONS (^E)
                                (^BM^CONS (^R)
                                 (^BM^CONS (^-)
                                  (^BM^CONS (^T)
                                   (^BM^CONS (^H)
                                    (^BM^CONS (^A)
                                     (^BM^CONS (^N)
                                      (^BM^CONS (^-)
                                       (^BM^CONS
                                        (^S)
                                        (^BM^CONS
                                         (^I)
                                         (^BM^CONS
                                          (^G)
                                          (^BM^CONS
                                           (^N)
                                           (^BM^ZERO)))))))))))))))))))
                         (^BM^PACK
                          (^BM^CONS (^N)
                           (^BM^CONS (^I)
                            (^BM^CONS (^L)
                             (^BM^ZERO))))))))))))))))))))))))))))))

(DEFINE (^BM^ALL-UPPER-ALPHABETICS-DIGITS-OR-SIGNS L)
 (IF (^BM^NLISTP L)
     (^BM^TRUE)
     (^BM^AND
      (^BM^OR (^BM^MEMBER (^BM^CAR L) (^BM^ASCII-UPPER-ALPHABETICS))
       (^BM^MEMBER (^BM^CAR L) (^BM^ASCII-DIGITS-AND-SIGNS)))
      (^BM^ALL-UPPER-ALPHABETICS-DIGITS-OR-SIGNS (^BM^CDR L)))))

(DEFINE (^BM^LEGAL-CHAR-CODE-SEQ L)
 (^BM^AND (^BM^LISTP L)
  (^BM^AND (EQUAL (^BM^CDR (^BM^LAST L)) (^INT (^BM^ZERO)))
   (^BM^AND (^BM^MEMBER (^BM^CAR L) (^BM^ASCII-UPPER-ALPHABETICS))
    (^BM^ALL-UPPER-ALPHABETICS-DIGITS-OR-SIGNS (^BM^CDR L))))))

(DEFINE (^BM^SYMBOLP X)
 (^BM^AND (^BM^LITATOM X) (^BM^LEGAL-CHAR-CODE-SEQ (^BM^UNPACK X))))

(DEFINE (^BM^EMPTY-STACK) '^BM^EMPTY-STACK)

(DEFINE (^BM^STACKP X)
 (IF (EQUAL X '^BM^EMPTY-STACK)
     'TRUE
     (IF (CONSP X)
         (IF (EQUAL (CAR X) '^BM^PUSH)
             (IF (CONSP (CDR X))
                 (IF (^BM^NUMBERP (CAR (CDR X)))
                     (IF (CONSP (CDR (CDR X)))
                         (IF (^BM^STACKP (CAR (CDR (CDR X))))
                             (EQUAL (CDR (CDR (CDR X))) 'NIL)
                             'FALSE)
                         'FALSE)
                     'FALSE)
                 'FALSE)
             'FALSE)
         'FALSE)))

(DEFINE (^BM^PUSH T1592 T1593)
 (CONS '^BM^PUSH
       (CONS (IF (^BM^NUMBERP T1592) T1592 (^BM^ZERO))
             (CONS (IF (^BM^STACKP T1593) T1593 (^BM^EMPTY-STACK)) 'NIL))))

(DEFINE (^BM^TOP X) (IF (^BM^STACKP X) (CAR (CDR X)) (^BM^ZERO)))

(DEFINE (^BM^POP X) (IF (^BM^STACKP X) (CAR (CDR (CDR X))) (^BM^EMPTY-STACK)))

(DEFINE (^BM^CONCAT X Y)
 (IF (^BM^NLISTP X) Y (^BM^CONS (^BM^CAR X) (^BM^CONCAT (^BM^CDR X) Y))))

(DEFINE (^BM^SHELL-BASE-FUNCTION X)
 (IF (EQUAL X
            (^BM^PACK
             (^BM^CONS (^T)
              (^BM^CONS (^R) (^BM^CONS (^U) (^BM^CONS (^E) (^BM^ZERO)))))))
     (^BM^PACK
      (^BM^CONS (^T)
       (^BM^CONS (^R)
        (^BM^CONS (^U) (^BM^CONS (^E) (^BM^CONS (^P) (^BM^ZERO)))))))
     (IF (EQUAL X
                (^BM^PACK
                 (^BM^CONS (^F)
                  (^BM^CONS (^A)
                   (^BM^CONS (^L)
                    (^BM^CONS (^S) (^BM^CONS (^E) (^BM^ZERO))))))))
         (^BM^PACK
          (^BM^CONS (^F)
           (^BM^CONS (^A)
            (^BM^CONS (^L)
             (^BM^CONS (^S) (^BM^CONS (^E) (^BM^CONS (^P) (^BM^ZERO))))))))
         (IF (EQUAL X
                    (^BM^PACK
                     (^BM^CONS (^Z)
                      (^BM^CONS (^E)
                       (^BM^CONS (^R) (^BM^CONS (^O) (^BM^ZERO)))))))
             (^BM^PACK
              (^BM^CONS (^N)
               (^BM^CONS (^U)
                (^BM^CONS (^M)
                 (^BM^CONS (^B)
                  (^BM^CONS (^E)
                   (^BM^CONS (^R) (^BM^CONS (^P) (^BM^ZERO)))))))))
             (IF (EQUAL X
                        (^BM^PACK
                         (^BM^CONS (^E)
                          (^BM^CONS (^M)
                           (^BM^CONS (^P)
                            (^BM^CONS (^T)
                             (^BM^CONS (^Y)
                              (^BM^CONS (^-)
                               (^BM^CONS (^S)
                                (^BM^CONS (^T)
                                 (^BM^CONS (^A)
                                  (^BM^CONS (^C)
                                   (^BM^CONS (^K) (^BM^ZERO))))))))))))))
                 (^BM^PACK
                  (^BM^CONS (^S)
                   (^BM^CONS (^T)
                    (^BM^CONS (^A)
                     (^BM^CONS (^C)
                      (^BM^CONS (^K) (^BM^CONS (^P) (^BM^ZERO))))))))
                 (^BM^FALSE))))))

(DEFINE (^BM^SHELL-CONSTRUCTOR-FUNCTION X)
 (IF (EQUAL X
            (^BM^PACK
             (^BM^CONS (^A)
              (^BM^CONS (^D) (^BM^CONS (^D) (^BM^CONS (^N1) (^BM^ZERO)))))))
     (^BM^PACK
      (^BM^CONS (^N)
       (^BM^CONS (^U)
        (^BM^CONS (^M)
         (^BM^CONS (^B)
          (^BM^CONS (^E) (^BM^CONS (^R) (^BM^CONS (^P) (^BM^ZERO)))))))))
     (IF (EQUAL X
                (^BM^PACK
                 (^BM^CONS (^C)
                  (^BM^CONS (^O) (^BM^CONS (^N) (^BM^CONS (^S) (^BM^ZERO)))))))
         (^BM^PACK
          (^BM^CONS (^L)
           (^BM^CONS (^I)
            (^BM^CONS (^S) (^BM^CONS (^T) (^BM^CONS (^P) (^BM^ZERO)))))))
         (IF (EQUAL X
                    (^BM^PACK
                     (^BM^CONS (^P)
                      (^BM^CONS (^A)
                       (^BM^CONS (^C) (^BM^CONS (^K) (^BM^ZERO)))))))
             (^BM^PACK
              (^BM^CONS (^L)
               (^BM^CONS (^I)
                (^BM^CONS (^T)
                 (^BM^CONS (^A)
                  (^BM^CONS (^T)
                   (^BM^CONS (^O) (^BM^CONS (^M) (^BM^ZERO)))))))))
             (IF (EQUAL X
                        (^BM^PACK
                         (^BM^CONS (^M)
                          (^BM^CONS (^I)
                           (^BM^CONS (^N)
                            (^BM^CONS (^U) (^BM^CONS (^S) (^BM^ZERO))))))))
                 (^BM^PACK
                  (^BM^CONS (^N)
                   (^BM^CONS (^E)
                    (^BM^CONS (^G)
                     (^BM^CONS (^A)
                      (^BM^CONS (^T)
                       (^BM^CONS (^I)
                        (^BM^CONS (^V)
                         (^BM^CONS (^E) (^BM^CONS (^P) (^BM^ZERO)))))))))))
                 (IF (EQUAL X
                            (^BM^PACK
                             (^BM^CONS (^P)
                              (^BM^CONS (^U)
                               (^BM^CONS (^S) (^BM^CONS (^H) (^BM^ZERO)))))))
                     (^BM^PACK
                      (^BM^CONS (^S)
                       (^BM^CONS (^T)
                        (^BM^CONS (^A)
                         (^BM^CONS (^C)
                          (^BM^CONS (^K) (^BM^CONS (^P) (^BM^ZERO))))))))
                     (^BM^FALSE)))))))

(DEFINE (^BM^SHELL-TYPE-RESTRICTIONS X)
 (IF (^BM^OR
      (EQUAL X
             (^BM^PACK
              (^BM^CONS (^A)
               (^BM^CONS (^D) (^BM^CONS (^D) (^BM^CONS (^N1) (^BM^ZERO)))))))
      (EQUAL X
             (^BM^PACK
              (^BM^CONS (^M)
               (^BM^CONS (^I)
                (^BM^CONS (^N) (^BM^CONS (^U) (^BM^CONS (^S) (^BM^ZERO)))))))))
     (^BM^LIST1
      (^BM^LIST2
       (^BM^PACK
        (^BM^CONS (^O)
         (^BM^CONS (^N)
          (^BM^CONS (^E)
           (^BM^CONS (^-) (^BM^CONS (^O) (^BM^CONS (^F) (^BM^ZERO))))))))
       (^BM^PACK
        (^BM^CONS (^N)
         (^BM^CONS (^U)
          (^BM^CONS (^M)
           (^BM^CONS (^B)
            (^BM^CONS (^E) (^BM^CONS (^R) (^BM^CONS (^P) (^BM^ZERO)))))))))))
     (IF (EQUAL X
                (^BM^PACK
                 (^BM^CONS (^C)
                  (^BM^CONS (^O) (^BM^CONS (^N) (^BM^CONS (^S) (^BM^ZERO)))))))
         (^BM^LIST2
          (^BM^LIST1
           (^BM^PACK
            (^BM^CONS (^N)
             (^BM^CONS (^O)
              (^BM^CONS (^N)
               (^BM^CONS (^E)
                (^BM^CONS (^-)
                 (^BM^CONS (^O) (^BM^CONS (^F) (^BM^ZERO))))))))))
          (^BM^LIST1
           (^BM^PACK
            (^BM^CONS (^N)
             (^BM^CONS (^O)
              (^BM^CONS (^N)
               (^BM^CONS (^E)
                (^BM^CONS (^-)
                 (^BM^CONS (^O) (^BM^CONS (^F) (^BM^ZERO)))))))))))
         (IF (EQUAL X
                    (^BM^PACK
                     (^BM^CONS (^P)
                      (^BM^CONS (^A)
                       (^BM^CONS (^C) (^BM^CONS (^K) (^BM^ZERO)))))))
             (^BM^LIST1
              (^BM^LIST1
               (^BM^PACK
                (^BM^CONS (^N)
                 (^BM^CONS (^O)
                  (^BM^CONS (^N)
                   (^BM^CONS (^E)
                    (^BM^CONS (^-)
                     (^BM^CONS (^O) (^BM^CONS (^F) (^BM^ZERO)))))))))))
             (IF (EQUAL X
                        (^BM^PACK
                         (^BM^CONS (^P)
                          (^BM^CONS (^U)
                           (^BM^CONS (^S) (^BM^CONS (^H) (^BM^ZERO)))))))
                 (^BM^LIST2
                  (^BM^LIST2
                   (^BM^PACK
                    (^BM^CONS (^O)
                     (^BM^CONS (^N)
                      (^BM^CONS (^E)
                       (^BM^CONS (^-)
                        (^BM^CONS (^O) (^BM^CONS (^F) (^BM^ZERO))))))))
                   (^BM^PACK
                    (^BM^CONS (^N)
                     (^BM^CONS (^U)
                      (^BM^CONS (^M)
                       (^BM^CONS (^B)
                        (^BM^CONS (^E)
                         (^BM^CONS (^R) (^BM^CONS (^P) (^BM^ZERO))))))))))
                  (^BM^LIST2
                   (^BM^PACK
                    (^BM^CONS (^O)
                     (^BM^CONS (^N)
                      (^BM^CONS (^E)
                       (^BM^CONS (^-)
                        (^BM^CONS (^O) (^BM^CONS (^F) (^BM^ZERO))))))))
                   (^BM^PACK
                    (^BM^CONS (^S)
                     (^BM^CONS (^T)
                      (^BM^CONS (^A)
                       (^BM^CONS (^C)
                        (^BM^CONS (^K) (^BM^CONS (^P) (^BM^ZERO))))))))))
                 (^BM^FALSE))))))

(DEFINE (^BM^SATISFIES FN TYPE-RESTRICTION)
 (IF (EQUAL (^BM^CAR TYPE-RESTRICTION)
            (^BM^PACK
             (^BM^CONS (^O)
              (^BM^CONS (^N)
               (^BM^CONS (^E)
                (^BM^CONS (^-) (^BM^CONS (^O) (^BM^CONS (^F) (^BM^ZERO)))))))))
     (^BM^MEMBER
      (IF (^BM^SHELL-BASE-FUNCTION FN)
          (^BM^SHELL-BASE-FUNCTION FN)
          (^BM^SHELL-CONSTRUCTOR-FUNCTION FN))
      (^BM^CDR TYPE-RESTRICTION))
     (^BM^NOT
      (^BM^MEMBER
       (IF (^BM^SHELL-BASE-FUNCTION FN)
           (^BM^SHELL-BASE-FUNCTION FN)
           (^BM^SHELL-CONSTRUCTOR-FUNCTION FN))
       (^BM^CDR TYPE-RESTRICTION)))))

(DEFINE (^BM^ALL-SATISFY FN-LST TYPE-RESTRICTION-LST)
 (IF (^BM^NLISTP FN-LST)
     (^BM^TRUE)
     (^BM^AND (^BM^SATISFIES (^BM^CAR FN-LST) (^BM^CAR TYPE-RESTRICTION-LST))
      (^BM^ALL-SATISFY (^BM^CDR FN-LST) (^BM^CDR TYPE-RESTRICTION-LST)))))

(DEFINE (^BM^ARITY-ALIST)
 (^BM^CONS
  (^BM^CONS (^BM^PACK (^BM^CONS (^I) (^BM^CONS (^F) (^BM^ZERO))))
   (^INT (^BM^CONS (^3) (^BM^ZERO))))
  (^BM^CONS
   (^BM^CONS
    (^BM^PACK
     (^BM^CONS (^E)
      (^BM^CONS (^Q)
       (^BM^CONS (^U) (^BM^CONS (^A) (^BM^CONS (^L) (^BM^ZERO)))))))
    (^INT (^BM^CONS (^2) (^BM^ZERO))))
   (^BM^CONS
    (^BM^CONS
     (^BM^PACK
      (^BM^CONS (^C)
       (^BM^CONS (^O)
        (^BM^CONS (^U) (^BM^CONS (^N) (^BM^CONS (^T) (^BM^ZERO)))))))
     (^INT (^BM^CONS (^1) (^BM^ZERO))))
    (^BM^CONS
     (^BM^CONS
      (^BM^PACK
       (^BM^CONS (^F)
        (^BM^CONS (^A)
         (^BM^CONS (^L) (^BM^CONS (^S) (^BM^CONS (^E) (^BM^ZERO)))))))
      (^INT (^BM^ZERO)))
     (^BM^CONS
      (^BM^CONS
       (^BM^PACK
        (^BM^CONS (^F)
         (^BM^CONS (^A)
          (^BM^CONS (^L)
           (^BM^CONS (^S) (^BM^CONS (^E) (^BM^CONS (^P) (^BM^ZERO))))))))
       (^INT (^BM^CONS (^1) (^BM^ZERO))))
      (^BM^CONS
       (^BM^CONS
        (^BM^PACK
         (^BM^CONS (^T)
          (^BM^CONS (^R) (^BM^CONS (^U) (^BM^CONS (^E) (^BM^ZERO))))))
        (^INT (^BM^ZERO)))
       (^BM^CONS
        (^BM^CONS
         (^BM^PACK
          (^BM^CONS (^T)
           (^BM^CONS (^R)
            (^BM^CONS (^U) (^BM^CONS (^E) (^BM^CONS (^P) (^BM^ZERO)))))))
         (^INT (^BM^CONS (^1) (^BM^ZERO))))
        (^BM^CONS
         (^BM^CONS
          (^BM^PACK (^BM^CONS (^N) (^BM^CONS (^O) (^BM^CONS (^T) (^BM^ZERO)))))
          (^INT (^BM^CONS (^1) (^BM^ZERO))))
         (^BM^CONS
          (^BM^CONS
           (^BM^PACK
            (^BM^CONS (^A) (^BM^CONS (^N) (^BM^CONS (^D) (^BM^ZERO)))))
           (^INT (^BM^CONS (^2) (^BM^ZERO))))
          (^BM^CONS
           (^BM^CONS (^BM^PACK (^BM^CONS (^O) (^BM^CONS (^R) (^BM^ZERO))))
            (^INT (^BM^CONS (^2) (^BM^ZERO))))
           (^BM^CONS
            (^BM^CONS
             (^BM^PACK
              (^BM^CONS (^I)
               (^BM^CONS (^M)
                (^BM^CONS (^P)
                 (^BM^CONS (^L)
                  (^BM^CONS (^I)
                   (^BM^CONS (^E) (^BM^CONS (^S) (^BM^ZERO)))))))))
             (^INT (^BM^CONS (^2) (^BM^ZERO))))
            (^BM^CONS
             (^BM^CONS
              (^BM^PACK
               (^BM^CONS (^A)
                (^BM^CONS (^D) (^BM^CONS (^D) (^BM^CONS (^N1) (^BM^ZERO))))))
              (^INT (^BM^CONS (^1) (^BM^ZERO))))
             (^BM^CONS
              (^BM^CONS
               (^BM^PACK
                (^BM^CONS (^N)
                 (^BM^CONS (^U)
                  (^BM^CONS (^M)
                   (^BM^CONS (^B)
                    (^BM^CONS (^E)
                     (^BM^CONS (^R) (^BM^CONS (^P) (^BM^ZERO)))))))))
               (^INT (^BM^CONS (^1) (^BM^ZERO))))
              (^BM^CONS
               (^BM^CONS
                (^BM^PACK
                 (^BM^CONS (^S)
                  (^BM^CONS (^U) (^BM^CONS (^B) (^BM^CONS (^N1) (^BM^ZERO))))))
                (^INT (^BM^CONS (^1) (^BM^ZERO))))
               (^BM^CONS
                (^BM^CONS
                 (^BM^PACK
                  (^BM^CONS (^Z)
                   (^BM^CONS (^E) (^BM^CONS (^R) (^BM^CONS (^O) (^BM^ZERO))))))
                 (^INT (^BM^ZERO)))
                (^BM^CONS
                 (^BM^CONS
                  (^BM^PACK
                   (^BM^CONS (^L)
                    (^BM^CONS (^E)
                     (^BM^CONS (^S)
                      (^BM^CONS (^S) (^BM^CONS (^P) (^BM^ZERO)))))))
                  (^INT (^BM^CONS (^2) (^BM^ZERO))))
                 (^BM^CONS
                  (^BM^CONS
                   (^BM^PACK
                    (^BM^CONS (^G)
                     (^BM^CONS (^R)
                      (^BM^CONS (^E)
                       (^BM^CONS (^A)
                        (^BM^CONS (^T)
                         (^BM^CONS (^E)
                          (^BM^CONS (^R) (^BM^CONS (^P) (^BM^ZERO))))))))))
                   (^INT (^BM^CONS (^2) (^BM^ZERO))))
                  (^BM^CONS
                   (^BM^CONS
                    (^BM^PACK
                     (^BM^CONS (^L)
                      (^BM^CONS (^E) (^BM^CONS (^Q) (^BM^ZERO)))))
                    (^INT (^BM^CONS (^2) (^BM^ZERO))))
                   (^BM^CONS
                    (^BM^CONS
                     (^BM^PACK
                      (^BM^CONS (^G)
                       (^BM^CONS (^E) (^BM^CONS (^Q) (^BM^ZERO)))))
                     (^INT (^BM^CONS (^2) (^BM^ZERO))))
                    (^BM^CONS
                     (^BM^CONS
                      (^BM^PACK
                       (^BM^CONS (^Z)
                        (^BM^CONS (^E)
                         (^BM^CONS (^R)
                          (^BM^CONS (^O) (^BM^CONS (^P) (^BM^ZERO)))))))
                      (^INT (^BM^CONS (^1) (^BM^ZERO))))
                     (^BM^CONS
                      (^BM^CONS
                       (^BM^PACK
                        (^BM^CONS (^F)
                         (^BM^CONS (^I) (^BM^CONS (^X) (^BM^ZERO)))))
                       (^INT (^BM^CONS (^1) (^BM^ZERO))))
                      (^BM^CONS
                       (^BM^CONS
                        (^BM^PACK
                         (^BM^CONS (^P)
                          (^BM^CONS (^L)
                           (^BM^CONS (^U) (^BM^CONS (^S) (^BM^ZERO))))))
                        (^INT (^BM^CONS (^2) (^BM^ZERO))))
                       (^BM^CONS
                        (^BM^CONS
                         (^BM^PACK
                          (^BM^CONS (^P)
                           (^BM^CONS (^A)
                            (^BM^CONS (^C) (^BM^CONS (^K) (^BM^ZERO))))))
                         (^INT (^BM^CONS (^1) (^BM^ZERO))))
                        (^BM^CONS
                         (^BM^CONS
                          (^BM^PACK
                           (^BM^CONS (^L)
                            (^BM^CONS (^I)
                             (^BM^CONS (^T)
                              (^BM^CONS (^A)
                               (^BM^CONS (^T)
                                (^BM^CONS (^O)
                                 (^BM^CONS (^M) (^BM^ZERO)))))))))
                          (^INT (^BM^CONS (^1) (^BM^ZERO))))
                         (^BM^CONS
                          (^BM^CONS
                           (^BM^PACK
                            (^BM^CONS (^U)
                             (^BM^CONS (^N)
                              (^BM^CONS (^P)
                               (^BM^CONS (^A)
                                (^BM^CONS (^C) (^BM^CONS (^K) (^BM^ZERO))))))))
                           (^INT (^BM^CONS (^1) (^BM^ZERO))))
                          (^BM^CONS
                           (^BM^CONS
                            (^BM^PACK
                             (^BM^CONS (^C)
                              (^BM^CONS (^O)
                               (^BM^CONS (^N) (^BM^CONS (^S) (^BM^ZERO))))))
                            (^INT (^BM^CONS (^2) (^BM^ZERO))))
                           (^BM^CONS
                            (^BM^CONS
                             (^BM^PACK
                              (^BM^CONS (^L)
                               (^BM^CONS (^I)
                                (^BM^CONS (^S)
                                 (^BM^CONS (^T) (^BM^CONS (^P) (^BM^ZERO)))))))
                             (^INT (^BM^CONS (^1) (^BM^ZERO))))
                            (^BM^CONS
                             (^BM^CONS
                              (^BM^PACK
                               (^BM^CONS (^C)
                                (^BM^CONS (^A) (^BM^CONS (^R) (^BM^ZERO)))))
                              (^INT (^BM^CONS (^1) (^BM^ZERO))))
                             (^BM^CONS
                              (^BM^CONS
                               (^BM^PACK
                                (^BM^CONS (^C)
                                 (^BM^CONS (^D) (^BM^CONS (^R) (^BM^ZERO)))))
                               (^INT (^BM^CONS (^1) (^BM^ZERO))))
                              (^BM^CONS
                               (^BM^CONS
                                (^BM^PACK
                                 (^BM^CONS (^N)
                                  (^BM^CONS (^L)
                                   (^BM^CONS (^I)
                                    (^BM^CONS (^S)
                                     (^BM^CONS (^T)
                                      (^BM^CONS (^P) (^BM^ZERO))))))))
                                (^INT (^BM^CONS (^1) (^BM^ZERO))))
                               (^BM^CONS
                                (^BM^CONS
                                 (^BM^PACK
                                  (^BM^CONS (^M)
                                   (^BM^CONS (^I)
                                    (^BM^CONS (^N)
                                     (^BM^CONS (^U)
                                      (^BM^CONS (^S) (^BM^ZERO)))))))
                                 (^INT (^BM^CONS (^1) (^BM^ZERO))))
                                (^BM^CONS
                                 (^BM^CONS
                                  (^BM^PACK
                                   (^BM^CONS (^N)
                                    (^BM^CONS (^E)
                                     (^BM^CONS (^G)
                                      (^BM^CONS (^A)
                                       (^BM^CONS
                                        (^T)
                                        (^BM^CONS
                                         (^I)
                                         (^BM^CONS
                                          (^V)
                                          (^BM^CONS
                                           (^E)
                                           (^BM^CONS (^P) (^BM^ZERO)))))))))))
                                  (^INT (^BM^CONS (^1) (^BM^ZERO))))
                                 (^BM^CONS
                                  (^BM^CONS
                                   (^BM^PACK
                                    (^BM^CONS (^N)
                                     (^BM^CONS (^E)
                                      (^BM^CONS (^G)
                                       (^BM^CONS
                                        (^A)
                                        (^BM^CONS
                                         (^T)
                                         (^BM^CONS
                                          (^I)
                                          (^BM^CONS
                                           (^V)
                                           (^BM^CONS
                                            (^E)
                                            (^BM^CONS
                                             (^-)
                                             (^BM^CONS
                                              (^G)
                                              (^BM^CONS
                                               (^U)
                                               (^BM^CONS
                                                (^T)
                                                (^BM^CONS
                                                 (^S)
                                                 (^BM^ZERO)))))))))))))))
                                   (^INT (^BM^CONS (^1) (^BM^ZERO))))
                                  (^BM^CONS
                                   (^BM^CONS
                                    (^BM^PACK
                                     (^BM^CONS (^D)
                                      (^BM^CONS (^I)
                                       (^BM^CONS
                                        (^F)
                                        (^BM^CONS
                                         (^F)
                                         (^BM^CONS
                                          (^E)
                                          (^BM^CONS
                                           (^R)
                                           (^BM^CONS
                                            (^E)
                                            (^BM^CONS
                                             (^N)
                                             (^BM^CONS
                                              (^C)
                                              (^BM^CONS
                                               (^E)
                                               (^BM^ZERO))))))))))))
                                    (^INT (^BM^CONS (^2) (^BM^ZERO))))
                                   (^BM^CONS
                                    (^BM^CONS
                                     (^BM^PACK
                                      (^BM^CONS (^T)
                                       (^BM^CONS
                                        (^I)
                                        (^BM^CONS
                                         (^M)
                                         (^BM^CONS
                                          (^E)
                                          (^BM^CONS (^S) (^BM^ZERO)))))))
                                     (^INT (^BM^CONS (^2) (^BM^ZERO))))
                                    (^BM^CONS
                                     (^BM^CONS
                                      (^BM^PACK
                                       (^BM^CONS
                                        (^Q)
                                        (^BM^CONS
                                         (^U)
                                         (^BM^CONS
                                          (^O)
                                          (^BM^CONS
                                           (^T)
                                           (^BM^CONS
                                            (^I)
                                            (^BM^CONS
                                             (^E)
                                             (^BM^CONS
                                              (^N)
                                              (^BM^CONS
                                               (^T)
                                               (^BM^ZERO))))))))))
                                      (^INT (^BM^CONS (^2) (^BM^ZERO))))
                                     (^BM^CONS
                                      (^BM^CONS
                                       (^BM^PACK
                                        (^BM^CONS
                                         (^R)
                                         (^BM^CONS
                                          (^E)
                                          (^BM^CONS
                                           (^M)
                                           (^BM^CONS
                                            (^A)
                                            (^BM^CONS
                                             (^I)
                                             (^BM^CONS
                                              (^N)
                                              (^BM^CONS
                                               (^D)
                                               (^BM^CONS
                                                (^E)
                                                (^BM^CONS
                                                 (^R)
                                                 (^BM^ZERO)))))))))))
                                       (^INT (^BM^CONS (^2) (^BM^ZERO))))
                                      (^BM^CONS
                                       (^BM^CONS
                                        (^BM^PACK
                                         (^BM^CONS
                                          (^M)
                                          (^BM^CONS
                                           (^E)
                                           (^BM^CONS
                                            (^M)
                                            (^BM^CONS
                                             (^B)
                                             (^BM^CONS
                                              (^E)
                                              (^BM^CONS (^R) (^BM^ZERO))))))))
                                        (^INT (^BM^CONS (^2) (^BM^ZERO))))
                                       (^BM^CONS
                                        (^BM^CONS
                                         (^BM^PACK
                                          (^BM^CONS
                                           (^I)
                                           (^BM^CONS
                                            (^F)
                                            (^BM^CONS (^F) (^BM^ZERO)))))
                                         (^INT (^BM^CONS (^2) (^BM^ZERO))))
                                        (^BM^CONS
                                         (^BM^CONS
                                          (^BM^PACK
                                           (^BM^CONS
                                            (^O)
                                            (^BM^CONS
                                             (^R)
                                             (^BM^CONS
                                              (^D)
                                              (^BM^CONS
                                               (^-)
                                               (^BM^CONS
                                                (^L)
                                                (^BM^CONS
                                                 (^E)
                                                 (^BM^CONS
                                                  (^S)
                                                  (^BM^CONS
                                                   (^S)
                                                   (^BM^CONS
                                                    (^P)
                                                    (^BM^ZERO)))))))))))
                                          (^INT (^BM^CONS (^2) (^BM^ZERO))))
                                         (^BM^CONS
                                          (^BM^CONS
                                           (^BM^PACK
                                            (^BM^CONS
                                             (^O)
                                             (^BM^CONS
                                              (^R)
                                              (^BM^CONS
                                               (^D)
                                               (^BM^CONS
                                                (^I)
                                                (^BM^CONS
                                                 (^N)
                                                 (^BM^CONS
                                                  (^A)
                                                  (^BM^CONS
                                                   (^L)
                                                   (^BM^CONS
                                                    (^P)
                                                    (^BM^ZERO))))))))))
                                           (^INT (^BM^CONS (^1) (^BM^ZERO))))
                                          (^BM^CONS
                                           (^BM^CONS
                                            (^BM^PACK
                                             (^BM^CONS
                                              (^A)
                                              (^BM^CONS
                                               (^S)
                                               (^BM^CONS
                                                (^S)
                                                (^BM^CONS
                                                 (^O)
                                                 (^BM^CONS
                                                  (^C)
                                                  (^BM^ZERO)))))))
                                            (^INT (^BM^CONS (^2) (^BM^ZERO))))
                                           (^BM^CONS
                                            (^BM^CONS
                                             (^BM^PACK
                                              (^BM^CONS
                                               (^P)
                                               (^BM^CONS
                                                (^A)
                                                (^BM^CONS
                                                 (^I)
                                                 (^BM^CONS
                                                  (^R)
                                                  (^BM^CONS
                                                   (^L)
                                                   (^BM^CONS
                                                    (^I)
                                                    (^BM^CONS
                                                     (^S)
                                                     (^BM^CONS
                                                      (^T)
                                                      (^BM^ZERO))))))))))
                                             (^INT (^BM^CONS (^2) (^BM^ZERO))))
                                            (^BM^CONS
                                             (^BM^CONS
                                              (^BM^PACK
                                               (^BM^CONS
                                                (^S)
                                                (^BM^CONS
                                                 (^U)
                                                 (^BM^CONS
                                                  (^B)
                                                  (^BM^CONS
                                                   (^R)
                                                   (^BM^CONS
                                                    (^P)
                                                    (^BM^ZERO)))))))
                                              (^INT
                                               (^BM^CONS (^1) (^BM^ZERO))))
                                             (^BM^CONS
                                              (^BM^CONS
                                               (^BM^PACK
                                                (^BM^CONS
                                                 (^A)
                                                 (^BM^CONS
                                                  (^P)
                                                  (^BM^CONS
                                                   (^P)
                                                   (^BM^CONS
                                                    (^L)
                                                    (^BM^CONS
                                                     (^Y)
                                                     (^BM^CONS
                                                      (^-)
                                                      (^BM^CONS
                                                       (^S)
                                                       (^BM^CONS
                                                        (^U)
                                                        (^BM^CONS
                                                         (^B)
                                                         (^BM^CONS
                                                          (^R)
                                                          (^BM^ZERO))))))))))))
                                               (^INT
                                                (^BM^CONS (^2) (^BM^ZERO))))
                                              (^BM^CONS
                                               (^BM^CONS
                                                (^BM^PACK
                                                 (^BM^CONS
                                                  (^F)
                                                  (^BM^CONS
                                                   (^O)
                                                   (^BM^CONS
                                                    (^R)
                                                    (^BM^CONS
                                                     (^M)
                                                     (^BM^CONS
                                                      (^A)
                                                      (^BM^CONS
                                                       (^L)
                                                       (^BM^CONS
                                                        (^S)
                                                        (^BM^ZERO)))))))))
                                                (^INT
                                                 (^BM^CONS (^1) (^BM^ZERO))))
                                               (^BM^CONS
                                                (^BM^CONS
                                                 (^BM^PACK
                                                  (^BM^CONS
                                                   (^B)
                                                   (^BM^CONS
                                                    (^O)
                                                    (^BM^CONS
                                                     (^D)
                                                     (^BM^CONS
                                                      (^Y)
                                                      (^BM^ZERO))))))
                                                 (^INT
                                                  (^BM^CONS (^1) (^BM^ZERO))))
                                                (^BM^CONS
                                                 (^BM^CONS
                                                  (^BM^PACK
                                                   (^BM^CONS
                                                    (^F)
                                                    (^BM^CONS
                                                     (^I)
                                                     (^BM^CONS
                                                      (^X)
                                                      (^BM^CONS
                                                       (^-)
                                                       (^BM^CONS
                                                        (^C)
                                                        (^BM^CONS
                                                         (^O)
                                                         (^BM^CONS
                                                          (^S)
                                                          (^BM^CONS
                                                           (^T)
                                                           (^BM^ZERO))))))))))
                                                  (^INT
                                                   (^BM^CONS (^2) (^BM^ZERO))))
                                                 (^BM^CONS
                                                  (^BM^CONS
                                                   (^BM^PACK
                                                    (^BM^CONS
                                                     (^S)
                                                     (^BM^CONS
                                                      (^T)
                                                      (^BM^CONS
                                                       (^R)
                                                       (^BM^CONS
                                                        (^I)
                                                        (^BM^CONS
                                                         (^P)
                                                         (^BM^CONS
                                                          (^-)
                                                          (^BM^CONS
                                                           (^C)
                                                           (^BM^CONS
                                                            (^A)
                                                            (^BM^CONS
                                                             (^R)
                                                             (^BM^CONS
                                                              (^S)
                                                              (^BM^ZERO))))))))))))
                                                   (^INT
                                                    (^BM^CONS
                                                     (^1)
                                                     (^BM^ZERO))))
                                                  (^BM^CONS
                                                   (^BM^CONS
                                                    (^BM^PACK
                                                     (^BM^CONS
                                                      (^S)
                                                      (^BM^CONS
                                                       (^U)
                                                       (^BM^CONS
                                                        (^M)
                                                        (^BM^CONS
                                                         (^-)
                                                         (^BM^CONS
                                                          (^C)
                                                          (^BM^CONS
                                                           (^D)
                                                           (^BM^CONS
                                                            (^R)
                                                            (^BM^CONS
                                                             (^S)
                                                             (^BM^ZERO))))))))))
                                                    (^INT
                                                     (^BM^CONS
                                                      (^1)
                                                      (^BM^ZERO))))
                                                   (^BM^CONS
                                                    (^BM^CONS
                                                     (^BM^PACK
                                                      (^BM^CONS
                                                       (^V)
                                                       (^BM^CONS
                                                        (^&)
                                                        (^BM^CONS
                                                         (^C)
                                                         (^BM^CONS
                                                          (^$)
                                                          (^BM^ZERO))))))
                                                     (^INT
                                                      (^BM^CONS
                                                       (^3)
                                                       (^BM^ZERO))))
                                                    (^BM^CONS
                                                     (^BM^CONS
                                                      (^BM^PACK
                                                       (^BM^CONS
                                                        (^V)
                                                        (^BM^CONS
                                                         (^&)
                                                         (^BM^CONS
                                                          (^C)
                                                          (^BM^CONS
                                                           (^-)
                                                           (^BM^CONS
                                                            (^A)
                                                            (^BM^CONS
                                                             (^P)
                                                             (^BM^CONS
                                                              (^P)
                                                              (^BM^CONS
                                                               (^L)
                                                               (^BM^CONS
                                                                (^Y)
                                                                (^BM^CONS
                                                                 (^$)
                                                                 (^BM^ZERO))))))))))))
                                                      (^INT
                                                       (^BM^CONS
                                                        (^2)
                                                        (^BM^ZERO))))
                                                     (^BM^CONS
                                                      (^BM^CONS
                                                       (^BM^PACK
                                                        (^BM^CONS
                                                         (^A)
                                                         (^BM^CONS
                                                          (^P)
                                                          (^BM^CONS
                                                           (^P)
                                                           (^BM^CONS
                                                            (^L)
                                                            (^BM^CONS
                                                             (^Y)
                                                             (^BM^CONS
                                                              (^$)
                                                              (^BM^ZERO))))))))
                                                       (^INT
                                                        (^BM^CONS
                                                         (^2)
                                                         (^BM^ZERO))))
                                                      (^BM^CONS
                                                       (^BM^CONS
                                                        (^BM^PACK
                                                         (^BM^CONS
                                                          (^E)
                                                          (^BM^CONS
                                                           (^V)
                                                           (^BM^CONS
                                                            (^A)
                                                            (^BM^CONS
                                                             (^L)
                                                             (^BM^CONS
                                                              (^$)
                                                              (^BM^ZERO)))))))
                                                        (^INT
                                                         (^BM^CONS
                                                          (^3)
                                                          (^BM^ZERO))))
                                                       (^BM^CONS
                                                        (^BM^CONS
                                                         (^BM^PACK
                                                          (^BM^CONS
                                                           (^Q)
                                                           (^BM^CONS
                                                            (^U)
                                                            (^BM^CONS
                                                             (^A)
                                                             (^BM^CONS
                                                              (^N)
                                                              (^BM^CONS
                                                               (^T)
                                                               (^BM^CONS
                                                                (^I)
                                                                (^BM^CONS
                                                                 (^F)
                                                                 (^BM^CONS
                                                                  (^I)
                                                                  (^BM^CONS
                                                                   (^E)
                                                                   (^BM^CONS
                                                                    (^R)
                                                                    (^BM^CONS
                                                                     (^-)
                                                                     (^BM^CONS
                                                                      (^I)
                                                                      (^BM^CONS
                                                                       (^N)
                                                                       (^BM^CONS
                                                                        (^I)
                                                                        (^BM^CONS
                                                                         (^T)
                                                                         (^BM^CONS
                                                                          (^I)
                                                                          (^BM^CONS
                                                                           (^A)
                                                                           (^BM^CONS
                                                                            (^L)
                                                                            (^BM^CONS
                                                                             (^-)
                                                                             (^BM^CONS
                                                                              (^V)
                                                                              (^BM^CONS
                                                                               (^A)
                                                                               (^BM^CONS
                                                                                (^L)
                                                                                (^BM^CONS
                                                                                 (^U)
                                                                                 (^BM^CONS
                                                                                  (^E)
                                                                                  (^BM^ZERO))))))))))))))))))))))))))
                                                         (^INT
                                                          (^BM^CONS
                                                           (^1)
                                                           (^BM^ZERO))))
                                                        (^BM^CONS
                                                         (^BM^CONS
                                                          (^BM^PACK
                                                           (^BM^CONS
                                                            (^A)
                                                            (^BM^CONS
                                                             (^D)
                                                             (^BM^CONS
                                                              (^D)
                                                              (^BM^CONS
                                                               (^-)
                                                               (^BM^CONS
                                                                (^T)
                                                                (^BM^CONS
                                                                 (^O)
                                                                 (^BM^CONS
                                                                  (^-)
                                                                  (^BM^CONS
                                                                   (^S)
                                                                   (^BM^CONS
                                                                    (^E)
                                                                    (^BM^CONS
                                                                     (^T)
                                                                     (^BM^ZERO))))))))))))
                                                          (^INT
                                                           (^BM^CONS
                                                            (^2)
                                                            (^BM^ZERO))))
                                                         (^BM^CONS
                                                          (^BM^CONS
                                                           (^BM^PACK
                                                            (^BM^CONS
                                                             (^A)
                                                             (^BM^CONS
                                                              (^P)
                                                              (^BM^CONS
                                                               (^P)
                                                               (^BM^CONS
                                                                (^E)
                                                                (^BM^CONS
                                                                 (^N)
                                                                 (^BM^CONS
                                                                  (^D)
                                                                  (^BM^ZERO))))))))
                                                           (^INT
                                                            (^BM^CONS
                                                             (^2)
                                                             (^BM^ZERO))))
                                                          (^BM^CONS
                                                           (^BM^CONS
                                                            (^BM^PACK
                                                             (^BM^CONS
                                                              (^M)
                                                              (^BM^CONS
                                                               (^A)
                                                               (^BM^CONS
                                                                (^X)
                                                                (^BM^ZERO)))))
                                                            (^INT
                                                             (^BM^CONS
                                                              (^2)
                                                              (^BM^ZERO))))
                                                           (^BM^CONS
                                                            (^BM^CONS
                                                             (^BM^PACK
                                                              (^BM^CONS
                                                               (^U)
                                                               (^BM^CONS
                                                                (^N)
                                                                (^BM^CONS
                                                                 (^I)
                                                                 (^BM^CONS
                                                                  (^O)
                                                                  (^BM^CONS
                                                                   (^N)
                                                                   (^BM^ZERO)))))))
                                                             (^INT
                                                              (^BM^CONS
                                                               (^2)
                                                               (^BM^ZERO))))
                                                            (^BM^CONS
                                                             (^BM^CONS
                                                              (^BM^PACK
                                                               (^BM^CONS
                                                                (^Q)
                                                                (^BM^CONS
                                                                 (^U)
                                                                 (^BM^CONS
                                                                  (^A)
                                                                  (^BM^CONS
                                                                   (^N)
                                                                   (^BM^CONS
                                                                    (^T)
                                                                    (^BM^CONS
                                                                     (^I)
                                                                     (^BM^CONS
                                                                      (^F)
                                                                      (^BM^CONS
                                                                       (^I)
                                                                       (^BM^CONS
                                                                        (^E)
                                                                        (^BM^CONS
                                                                         (^R)
                                                                         (^BM^CONS
                                                                          (^-)
                                                                          (^BM^CONS
                                                                           (^O)
                                                                           (^BM^CONS
                                                                            (^P)
                                                                            (^BM^CONS
                                                                             (^E)
                                                                             (^BM^CONS
                                                                              (^R)
                                                                              (^BM^CONS
                                                                               (^A)
                                                                               (^BM^CONS
                                                                                (^T)
                                                                                (^BM^CONS
                                                                                 (^I)
                                                                                 (^BM^CONS
                                                                                  (^O)
                                                                                  (^BM^CONS
                                                                                   (^N)
                                                                                   (^BM^ZERO))))))))))))))))))))))
                                                              (^INT
                                                               (^BM^CONS
                                                                (^3)
                                                                (^BM^ZERO))))
                                                             (^BM^CONS
                                                              (^BM^CONS
                                                               (^BM^PACK
                                                                (^BM^CONS
                                                                 (^F)
                                                                 (^BM^CONS
                                                                  (^O)
                                                                  (^BM^CONS
                                                                   (^R)
                                                                   (^BM^ZERO)))))
                                                               (^INT
                                                                (^BM^CONS
                                                                 (^6)
                                                                 (^BM^ZERO))))
                                                              (^BM^CONS
                                                               (^BM^CONS
                                                                (^BM^PACK
                                                                 (^BM^CONS
                                                                  (^P)
                                                                  (^BM^CONS
                                                                   (^U)
                                                                   (^BM^CONS
                                                                    (^S)
                                                                    (^BM^CONS
                                                                     (^H)
                                                                     (^BM^ZERO))))))
                                                                (^INT
                                                                 (^BM^CONS
                                                                  (^2)
                                                                  (^BM^ZERO))))
                                                               (^BM^CONS
                                                                (^BM^CONS
                                                                 (^BM^PACK
                                                                  (^BM^CONS
                                                                   (^E)
                                                                   (^BM^CONS
                                                                    (^M)
                                                                    (^BM^CONS
                                                                     (^P)
                                                                     (^BM^CONS
                                                                      (^T)
                                                                      (^BM^CONS
                                                                       (^Y)
                                                                       (^BM^CONS
                                                                        (^-)
                                                                        (^BM^CONS
                                                                         (^S)
                                                                         (^BM^CONS
                                                                          (^T)
                                                                          (^BM^CONS
                                                                           (^A)
                                                                           (^BM^CONS
                                                                            (^C)
                                                                            (^BM^CONS
                                                                             (^K)
                                                                             (^BM^ZERO)))))))))))))
                                                                 (^INT
                                                                  (^BM^ZERO)))
                                                                (^BM^CONS
                                                                 (^BM^CONS
                                                                  (^BM^PACK
                                                                   (^BM^CONS
                                                                    (^S)
                                                                    (^BM^CONS
                                                                     (^T)
                                                                     (^BM^CONS
                                                                      (^A)
                                                                      (^BM^CONS
                                                                       (^C)
                                                                       (^BM^CONS
                                                                        (^K)
                                                                        (^BM^CONS
                                                                         (^P)
                                                                         (^BM^ZERO))))))))
                                                                  (^INT
                                                                   (^BM^CONS
                                                                    (^1)
                                                                    (^BM^ZERO))))
                                                                 (^BM^CONS
                                                                  (^BM^CONS
                                                                   (^BM^PACK
                                                                    (^BM^CONS
                                                                     (^T)
                                                                     (^BM^CONS
                                                                      (^O)
                                                                      (^BM^CONS
                                                                       (^P)
                                                                       (^BM^ZERO)))))
                                                                   (^INT
                                                                    (^BM^CONS
                                                                     (^1)
                                                                     (^BM^ZERO))))
                                                                  (^BM^CONS
                                                                   (^BM^CONS
                                                                    (^BM^PACK
                                                                     (^BM^CONS
                                                                      (^P)
                                                                      (^BM^CONS
                                                                       (^O)
                                                                       (^BM^CONS
                                                                        (^P)
                                                                        (^BM^ZERO)))))
                                                                    (^INT
                                                                     (^BM^CONS
                                                                      (^2)
                                                                      (^BM^ZERO))))
                                                                   (^BM^CONS
                                                                    (^BM^CONS
                                                                     (^BM^PACK
                                                                      (^BM^CONS
                                                                       (^C)
                                                                       (^BM^CONS
                                                                        (^O)
                                                                        (^BM^CONS
                                                                         (^N)
                                                                         (^BM^CONS
                                                                          (^C)
                                                                          (^BM^CONS
                                                                           (^A)
                                                                           (^BM^CONS
                                                                            (^T)
                                                                            (^BM^ZERO))))))))
                                                                     (^INT
                                                                      (^BM^CONS
                                                                       (^2)
                                                                       (^BM^ZERO))))
                                                                    (^BM^PACK
                                                                     (^BM^CONS
                                                                      (^N)
                                                                      (^BM^CONS
                                                                       (^I)
                                                                       (^BM^CONS
                                                                        (^L)
                                                                        (^BM^ZERO)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

(DEFINE (^BM^ARITY FN)
 (IF (^BM^ASSOC FN (^BM^ARITY-ALIST))
     (^BM^CDR (^BM^ASSOC FN (^BM^ARITY-ALIST)))
     (^BM^FALSE)))

(DEFINE (^BM^EXPLICIT-VALUE-DESCRIPTOR FLG X)
 (IF FLG
     (IF (^BM^NLISTP X)
         (IF (^BM^INTEGERP X)
             (IF (^BM^NUMBERP X)
                 (^BM^CORRESPONDING-NUMBERP X)
                 (^BM^CORRESPONDING-NEGATIVEP X))
             (IF (EQUAL X
                        (^BM^STAR-ONE-STAR
                         (^BM^PACK
                          (^BM^CONS (^T)
                           (^BM^CONS (^R)
                            (^BM^CONS (^U) (^BM^CONS (^E) (^BM^ZERO))))))))
                 (^BM^LIST1
                  (^BM^PACK
                   (^BM^CONS (^T)
                    (^BM^CONS (^R)
                     (^BM^CONS (^U) (^BM^CONS (^E) (^BM^ZERO)))))))
                 (IF (EQUAL X
                            (^BM^STAR-ONE-STAR
                             (^BM^PACK
                              (^BM^CONS (^F)
                               (^BM^CONS (^A)
                                (^BM^CONS (^L)
                                 (^BM^CONS (^S)
                                  (^BM^CONS (^E) (^BM^ZERO)))))))))
                     (^BM^LIST1
                      (^BM^PACK
                       (^BM^CONS (^F)
                        (^BM^CONS (^A)
                         (^BM^CONS (^L)
                          (^BM^CONS (^S) (^BM^CONS (^E) (^BM^ZERO))))))))
                     (IF (^BM^SYMBOLP X)
                         (^BM^CORRESPONDING-LITATOM X)
                         (^BM^FALSE)))))
         (IF (EQUAL (^BM^CAR X)
                    (^BM^STAR-ONE-STAR
                     (^BM^PACK
                      (^BM^CONS (^Q)
                       (^BM^CONS (^U)
                        (^BM^CONS (^O)
                         (^BM^CONS (^T) (^BM^CONS (^E) (^BM^ZERO)))))))))
             (IF (^BM^AND
                  (^BM^OR
                   (^BM^SHELL-CONSTRUCTOR-FUNCTION
                    (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X))
                   (^BM^SHELL-BASE-FUNCTION
                    (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X)))
                  (^BM^AND
                   (^BM^EQLEN (^BM^CDRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X)
                    (^BM^ARITY
                     (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X)))
                   (^BM^AND (EQUAL (^BM^CDR (^BM^LAST X)) (^NIL))
                    (^BM^AND
                     (^BM^NOT
                      (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X)
                             (^BM^PACK
                              (^BM^CONS (^A)
                               (^BM^CONS (^D)
                                (^BM^CONS (^D)
                                 (^BM^CONS (^N1) (^BM^ZERO))))))))
                     (^BM^AND
                      (^BM^NOT
                       (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X)
                              (^BM^PACK
                               (^BM^CONS (^Z)
                                (^BM^CONS (^E)
                                 (^BM^CONS (^R)
                                  (^BM^CONS (^O) (^BM^ZERO))))))))
                      (^BM^AND
                       (^BM^NOT
                        (EQUAL (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X)
                               (^BM^PACK
                                (^BM^CONS (^C)
                                 (^BM^CONS (^O)
                                  (^BM^CONS (^N)
                                   (^BM^CONS (^S) (^BM^ZERO))))))))
                       (^BM^AND
                        (^BM^EXPLICIT-VALUE-DESCRIPTOR (^BM^FALSE)
                         (^BM^CDRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X))
                        (^BM^AND
                         (IF (^BM^SHELL-CONSTRUCTOR-FUNCTION
                              (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X))
                             (^BM^ALL-SATISFY
                              (^BM^STRIP-CARS
                               (^BM^EXPLICIT-VALUE-DESCRIPTOR (^BM^FALSE)
                                (^BM^CDRN (^INT (^BM^CONS (^2) (^BM^ZERO)))
                                 X)))
                              (^BM^SHELL-TYPE-RESTRICTIONS
                               (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                X)))
                             (^BM^TRUE))
                         (IF (EQUAL (^BM^CADRN
                                     (^INT (^BM^CONS (^1) (^BM^ZERO))) X)
                                    (^BM^PACK
                                     (^BM^CONS (^P)
                                      (^BM^CONS (^A)
                                       (^BM^CONS
                                        (^C)
                                        (^BM^CONS (^K) (^BM^ZERO)))))))
                             (^BM^NOT
                              (^BM^LEGAL-CHAR-CODE-SEQ
                               (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO)))
                                X)))
                             (IF (EQUAL (^BM^CADRN
                                         (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                         X)
                                        (^BM^PACK
                                         (^BM^CONS
                                          (^M)
                                          (^BM^CONS
                                           (^I)
                                           (^BM^CONS
                                            (^N)
                                            (^BM^CONS
                                             (^U)
                                             (^BM^CONS (^S) (^BM^ZERO))))))))
                                 (EQUAL (^BM^CADRN
                                         (^INT (^BM^CONS (^2) (^BM^ZERO)))
                                         X)
                                        (^BM^ZERO))
                                 (^BM^TRUE)))))))))))
                 (^BM^CONS (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X)
                  (^BM^EXPLICIT-VALUE-DESCRIPTOR (^BM^FALSE)
                   (^BM^CDRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X)))
                 (^BM^FALSE))
             (IF (^BM^DOTTED-PAIR X)
                 (^BM^FLIST3
                  (^BM^PACK
                   (^BM^CONS (^C)
                    (^BM^CONS (^O)
                     (^BM^CONS (^N) (^BM^CONS (^S) (^BM^ZERO))))))
                  (^BM^EXPLICIT-VALUE-DESCRIPTOR (^BM^TRUE) (^BM^CAR X))
                  (^BM^EXPLICIT-VALUE-DESCRIPTOR (^BM^TRUE)
                   (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X)))
                 (IF (^BM^SINGLETON X)
                     (^BM^FLIST3
                      (^BM^PACK
                       (^BM^CONS (^C)
                        (^BM^CONS (^O)
                         (^BM^CONS (^N) (^BM^CONS (^S) (^BM^ZERO))))))
                      (^BM^EXPLICIT-VALUE-DESCRIPTOR (^BM^TRUE) (^BM^CAR X))
                      (^BM^CORRESPONDING-LITATOM (^NIL)))
                     (^BM^FLIST3
                      (^BM^PACK
                       (^BM^CONS (^C)
                        (^BM^CONS (^O)
                         (^BM^CONS (^N) (^BM^CONS (^S) (^BM^ZERO))))))
                      (^BM^EXPLICIT-VALUE-DESCRIPTOR (^BM^TRUE) (^BM^CAR X))
                      (^BM^EXPLICIT-VALUE-DESCRIPTOR (^BM^TRUE)
                       (^BM^CDR X)))))))
     (IF (^BM^NLISTP X)
         (^NIL)
         (^BM^FCONS (^BM^EXPLICIT-VALUE-DESCRIPTOR (^BM^TRUE) (^BM^CAR X))
          (^BM^EXPLICIT-VALUE-DESCRIPTOR (^BM^FALSE) (^BM^CDR X))))))

(DEFINE (^BM^QT X) (^BM^EXPLICIT-VALUE-DESCRIPTOR (^BM^TRUE) X))

(DEFINE (^BM^DOUBLETS LST)
 (IF (^BM^NLISTP LST)
     (EQUAL LST (^NIL))
     (^BM^AND (^BM^EQLEN (^BM^CAR LST) (^INT (^BM^CONS (^2) (^BM^ZERO))))
      (^BM^DOUBLETS (^BM^CDR LST)))))

(DEFINE (^BM^DUPLICATESP LST)
 (IF (^BM^NLISTP LST)
     (^BM^FALSE)
     (IF (^BM^MEMBER (^BM^CAR LST) (^BM^CDR LST))
         (^BM^TRUE)
         (^BM^DUPLICATESP (^BM^CDR LST)))))

(DEFINE (^BM^STRIP-CADRS LST)
 (IF (^BM^NLISTP LST)
     (^NIL)
     (^BM^CONS (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) (^BM^CAR LST))
      (^BM^STRIP-CADRS (^BM^CDR LST)))))

(DEFINE (^BM^SYMBOLPS LST)
 (IF (^BM^NLISTP LST)
     (^BM^TRUE)
     (^BM^AND (^BM^SYMBOLP (^BM^CAR LST)) (^BM^SYMBOLPS (^BM^CDR LST)))))

(DEFINE (^BM^SUBLIS-VAR FLG ALIST TERM)
 (IF FLG
     (IF (^BM^NLISTP TERM)
         (IF (^BM^ASSOC TERM ALIST) (^BM^CDR (^BM^ASSOC TERM ALIST)) TERM)
         (IF (EQUAL (^BM^CAR TERM)
                    (^BM^PACK
                     (^BM^CONS (^Q)
                      (^BM^CONS (^U)
                       (^BM^CONS (^O)
                        (^BM^CONS (^T) (^BM^CONS (^E) (^BM^ZERO))))))))
             TERM
             (^BM^CONS (^BM^CAR TERM)
              (^BM^SUBLIS-VAR (^BM^FALSE) ALIST (^BM^CDR TERM)))))
     (IF (^BM^NLISTP TERM)
         (^NIL)
         (^BM^CONS (^BM^SUBLIS-VAR (^BM^TRUE) ALIST (^BM^CAR TERM))
          (^BM^SUBLIS-VAR (^BM^FALSE) ALIST (^BM^CDR TERM))))))

(DEFINE (^BM^ABBREVIATED-FOR-VAR X)
 (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X))

(DEFINE (^BM^ABBREVIATED-FOR-RANGE X)
 (^BM^CADRN (^INT (^BM^CONS (^3) (^BM^ZERO))) X))

(DEFINE (^BM^ABBREVIATED-FOR-WHEN X)
 (IF (^BM^EQLEN X (^INT (^BM^CONS (^8) (^BM^ZERO))))
     (^BM^CADRN (^INT (^BM^CONS (^5) (^BM^ZERO))) X)
     (^BM^PACK (^BM^CONS (^T) (^BM^ZERO)))))

(DEFINE (^BM^ABBREVIATED-FOR-OP X)
 (IF (^BM^EQLEN X (^INT (^BM^CONS (^8) (^BM^ZERO))))
     (^BM^CADRN (^INT (^BM^CONS (^6) (^BM^ZERO))) X)
     (^BM^CADRN (^INT (^BM^CONS (^4) (^BM^ZERO))) X)))

(DEFINE (^BM^ABBREVIATED-FOR-BODY X) (^BM^CAR (^BM^LAST X)))

(DEFINE (^BM^FOR-OPERATIONP X)
 (^BM^OR
  (EQUAL X
         (^BM^PACK
          (^BM^CONS (^A)
           (^BM^CONS (^D)
            (^BM^CONS (^D)
             (^BM^CONS (^-)
              (^BM^CONS (^T)
               (^BM^CONS (^O)
                (^BM^CONS (^-)
                 (^BM^CONS (^S)
                  (^BM^CONS (^E) (^BM^CONS (^T) (^BM^ZERO)))))))))))))
  (^BM^OR
   (EQUAL X
          (^BM^PACK
           (^BM^CONS (^A)
            (^BM^CONS (^L)
             (^BM^CONS (^W)
              (^BM^CONS (^A) (^BM^CONS (^Y) (^BM^CONS (^S) (^BM^ZERO)))))))))
   (^BM^OR
    (EQUAL X
           (^BM^PACK
            (^BM^CONS (^A)
             (^BM^CONS (^P)
              (^BM^CONS (^P)
               (^BM^CONS (^E) (^BM^CONS (^N) (^BM^CONS (^D) (^BM^ZERO)))))))))
    (^BM^OR
     (EQUAL X
            (^BM^PACK
             (^BM^CONS (^C)
              (^BM^CONS (^O)
               (^BM^CONS (^L)
                (^BM^CONS (^L)
                 (^BM^CONS (^E)
                  (^BM^CONS (^C) (^BM^CONS (^T) (^BM^ZERO))))))))))
     (^BM^OR
      (EQUAL X
             (^BM^PACK
              (^BM^CONS (^C)
               (^BM^CONS (^O)
                (^BM^CONS (^U) (^BM^CONS (^N) (^BM^CONS (^T) (^BM^ZERO))))))))
      (^BM^OR
       (EQUAL X
              (^BM^PACK
               (^BM^CONS (^D)
                (^BM^CONS (^O)
                 (^BM^CONS (^-)
                  (^BM^CONS (^R)
                   (^BM^CONS (^E)
                    (^BM^CONS (^T)
                     (^BM^CONS (^U)
                      (^BM^CONS (^R) (^BM^CONS (^N) (^BM^ZERO))))))))))))
       (^BM^OR
        (EQUAL X
               (^BM^PACK
                (^BM^CONS (^E)
                 (^BM^CONS (^X)
                  (^BM^CONS (^I)
                   (^BM^CONS (^S)
                    (^BM^CONS (^T) (^BM^CONS (^S) (^BM^ZERO)))))))))
        (^BM^OR
         (EQUAL X
                (^BM^PACK
                 (^BM^CONS (^M) (^BM^CONS (^A) (^BM^CONS (^X) (^BM^ZERO))))))
         (^BM^OR
          (EQUAL X
                 (^BM^PACK
                  (^BM^CONS (^S) (^BM^CONS (^U) (^BM^CONS (^M) (^BM^ZERO))))))
          (^BM^OR
           (EQUAL X
                  (^BM^PACK
                   (^BM^CONS (^M)
                    (^BM^CONS (^U)
                     (^BM^CONS (^L)
                      (^BM^CONS (^T)
                       (^BM^CONS (^I)
                        (^BM^CONS (^P)
                         (^BM^CONS (^L) (^BM^CONS (^Y) (^BM^ZERO)))))))))))
           (EQUAL X
                  (^BM^PACK
                   (^BM^CONS (^U)
                    (^BM^CONS (^N)
                     (^BM^CONS (^I)
                      (^BM^CONS (^O) (^BM^CONS (^N) (^BM^ZERO)))))))))))))))))))

(DEFINE (^BM^ABBREVIATED-FORP X)
 (^BM^AND (^BM^LISTP X)
  (^BM^AND
   (EQUAL (^BM^CAR X)
          (^BM^PACK
           (^BM^CONS (^F) (^BM^CONS (^O) (^BM^CONS (^R) (^BM^ZERO))))))
   (^BM^AND
    (^BM^OR (^BM^EQLEN X (^INT (^BM^CONS (^8) (^BM^ZERO))))
     (^BM^EQLEN X (^INT (^BM^CONS (^6) (^BM^ZERO)))))
    (^BM^AND (^BM^SYMBOLP (^BM^ABBREVIATED-FOR-VAR X))
     (^BM^AND (^BM^NOT (EQUAL (^BM^ABBREVIATED-FOR-VAR X) (^NIL)))
      (^BM^AND
       (^BM^NOT
        (EQUAL (^BM^ABBREVIATED-FOR-VAR X)
               (^BM^PACK (^BM^CONS (^T) (^BM^ZERO)))))
       (^BM^AND
        (^BM^NOT
         (EQUAL (^BM^ABBREVIATED-FOR-VAR X)
                (^BM^PACK (^BM^CONS (^F) (^BM^ZERO)))))
        (^BM^AND
         (EQUAL (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X)
                (^BM^PACK (^BM^CONS (^I) (^BM^CONS (^N) (^BM^ZERO)))))
         (^BM^AND
          (^BM^OR (^BM^EQLEN X (^INT (^BM^CONS (^6) (^BM^ZERO))))
           (EQUAL (^BM^CADRN (^INT (^BM^CONS (^4) (^BM^ZERO))) X)
                  (^BM^PACK
                   (^BM^CONS (^W)
                    (^BM^CONS (^H)
                     (^BM^CONS (^E) (^BM^CONS (^N) (^BM^ZERO))))))))
          (^BM^FOR-OPERATIONP (^BM^ABBREVIATED-FOR-OP X))))))))))))

(DEFINE (^BM^ALPHABETIC-LESSP1 L1 L2)
 (IF (^BM^NLISTP L1)
     (^BM^TRUE)
     (IF (^BM^NLISTP L2)
         (^BM^FALSE)
         (IF (^BM^LESSP (^BM^CAR L1) (^BM^CAR L2))
             (^BM^TRUE)
             (IF (EQUAL (^BM^CAR L1) (^BM^CAR L2))
                 (^BM^ALPHABETIC-LESSP1 (^BM^CDR L1) (^BM^CDR L2))
                 (^BM^FALSE))))))

(DEFINE (^BM^ALPHABETIC-LESSP X Y)
 (^BM^ALPHABETIC-LESSP1 (^BM^UNPACK X) (^BM^UNPACK Y)))

(DEFINE (^BM^ALPHABETIC-INSERT X L)
 (IF (^BM^NLISTP L)
     (^BM^LIST1 X)
     (IF (^BM^ALPHABETIC-LESSP X (^BM^CAR L))
         (^BM^CONS X L)
         (^BM^CONS (^BM^CAR L) (^BM^ALPHABETIC-INSERT X (^BM^CDR L))))))

(DEFINE (^BM^ALPHABETIZE L)
 (IF (^BM^NLISTP L)
     L
     (^BM^ALPHABETIC-INSERT (^BM^CAR L) (^BM^ALPHABETIZE (^BM^CDR L)))))

(DEFINE (^BM^ALL-VARS FLG X)
 (IF FLG
     (IF (^BM^NLISTP X)
         (^BM^CONS X (^NIL))
         (^BM^ALL-VARS (^BM^FALSE) (^BM^CDR X)))
     (IF (^BM^NLISTP X)
         (^NIL)
         (^BM^UNION (^BM^ALL-VARS (^BM^TRUE) (^BM^CAR X))
          (^BM^ALL-VARS (^BM^FALSE) (^BM^CDR X))))))

(DEFINE (^BM^STANDARD-ALIST VARS)
 (IF (^BM^NLISTP VARS)
     (^BM^QT (^NIL))
     (^BM^LIST3
      (^BM^PACK
       (^BM^CONS (^C)
        (^BM^CONS (^O) (^BM^CONS (^N) (^BM^CONS (^S) (^BM^ZERO))))))
      (^BM^LIST3
       (^BM^PACK
        (^BM^CONS (^C)
         (^BM^CONS (^O) (^BM^CONS (^N) (^BM^CONS (^S) (^BM^ZERO))))))
       (^BM^QT (^BM^CAR VARS)) (^BM^CAR VARS))
      (^BM^STANDARD-ALIST (^BM^CDR VARS)))))

(DEFINE (^BM^DELETE X L)
 (IF (^BM^NLISTP L)
     L
     (IF (EQUAL X (^BM^CAR L))
         (^BM^CDR L)
         (^BM^CONS (^BM^CAR L) (^BM^DELETE X (^BM^CDR L))))))

(DEFINE (^BM^MAKE-ALIST VAR WHEN BODY)
 (^BM^STANDARD-ALIST
  (^BM^ALPHABETIZE
   (^BM^DELETE VAR
    (^BM^UNION (^BM^ALL-VARS (^BM^TRUE) WHEN)
     (^BM^ALL-VARS (^BM^TRUE) BODY))))))

(LEMMA
 (^BM^IMPLIES
  (EQUAL (^BM^CAR X)
         (^BM^PACK (^BM^CONS (^F) (^BM^CONS (^O) (^BM^CONS (^R) (^BM^ZERO))))))
  (^BM^LESSP (^BM^COUNT (^BM^ABBREVIATED-FOR-RANGE X)) (^BM^COUNT X))))

(LEMMA
 (^BM^IMPLIES
  (EQUAL (^BM^CAR X)
         (^BM^PACK (^BM^CONS (^F) (^BM^CONS (^O) (^BM^CONS (^R) (^BM^ZERO))))))
  (^BM^LESSP (^BM^COUNT (^BM^ABBREVIATED-FOR-WHEN X)) (^BM^COUNT X))))

(LEMMA (^BM^NOT (^BM^LESSP (^BM^COUNT X) (^BM^COUNT (^BM^LAST X)))))

(LEMMA
 (^BM^IMPLIES
  (EQUAL (^BM^CAR X)
         (^BM^PACK (^BM^CONS (^F) (^BM^CONS (^O) (^BM^CONS (^R) (^BM^ZERO))))))
  (^BM^LESSP (^BM^COUNT (^BM^ABBREVIATED-FOR-BODY X)) (^BM^COUNT X))))

(LEMMA
 (^BM^IMPLIES (^BM^DOUBLETS LST)
  (^BM^NOT (^BM^LESSP (^BM^COUNT LST) (^BM^COUNT (^BM^STRIP-CARS LST))))))

(LEMMA
 (^BM^IMPLIES (^BM^DOUBLETS LST)
  (^BM^NOT (^BM^LESSP (^BM^COUNT LST) (^BM^COUNT (^BM^STRIP-CADRS LST))))))

(LEMMA
 (^BM^IMPLIES (^BM^LISTP (^BM^CDR (^BM^CDR X)))
  (EQUAL (^BM^COUNT X)
         (^BM^ADD1
          (^BM^ADD1
           (^BM^PLUS (^BM^COUNT (^BM^CAR X))
            (^BM^PLUS (^BM^COUNT (^BM^CAR (^BM^CDR X)))
             (^BM^COUNT (^BM^CDR (^BM^CDR X))))))))))

(LEMMA
 (^BM^IMPLIES (^BM^LISTP (^BM^CDR (^BM^CDR (^BM^CDR X))))
  (EQUAL (^BM^COUNT X)
         (^BM^ADD1
          (^BM^ADD1
           (^BM^ADD1
            (^BM^PLUS (^BM^COUNT (^BM^CAR X))
             (^BM^PLUS (^BM^COUNT (^BM^CAR (^BM^CDR X)))
              (^BM^PLUS (^BM^COUNT (^BM^CAR (^BM^CDR (^BM^CDR X))))
               (^BM^COUNT (^BM^CDR (^BM^CDR (^BM^CDR X)))))))))))))

(DEFINE (^BM^TRANSLATE FLG X)
 (IF FLG
     (IF (^BM^NLISTP X)
         (IF (^BM^INTEGERP X)
             (^BM^QT X)
             (IF (^BM^SYMBOLP X)
                 (IF (EQUAL X (^BM^PACK (^BM^CONS (^T) (^BM^ZERO))))
                     (^BM^LIST1
                      (^BM^PACK
                       (^BM^CONS (^T)
                        (^BM^CONS (^R)
                         (^BM^CONS (^U) (^BM^CONS (^E) (^BM^ZERO)))))))
                     (IF (EQUAL X (^BM^PACK (^BM^CONS (^F) (^BM^ZERO))))
                         (^BM^LIST1
                          (^BM^PACK
                           (^BM^CONS (^F)
                            (^BM^CONS (^A)
                             (^BM^CONS (^L)
                              (^BM^CONS (^S) (^BM^CONS (^E) (^BM^ZERO))))))))
                         (IF (EQUAL X (^NIL)) (^BM^QT (^NIL)) X)))
                 (^BM^FALSE)))
         (IF (^BM^DOTTED-S-EXPRESSION X)
             (^BM^FALSE)
             (IF (EQUAL (^BM^CAR X)
                        (^BM^PACK
                         (^BM^CONS (^Q)
                          (^BM^CONS (^U)
                           (^BM^CONS (^O)
                            (^BM^CONS (^T) (^BM^CONS (^E) (^BM^ZERO))))))))
                 (IF (^BM^EQLEN X (^INT (^BM^CONS (^2) (^BM^ZERO))))
                     (^BM^QT (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X))
                     (^BM^FALSE))
                 (IF (EQUAL (^BM^CAR X)
                            (^BM^PACK
                             (^BM^CONS (^C)
                              (^BM^CONS (^O)
                               (^BM^CONS (^N) (^BM^CONS (^D) (^BM^ZERO)))))))
                     (IF (^BM^AND
                          (^BM^EQLEN X (^INT (^BM^CONS (^2) (^BM^ZERO))))
                          (^BM^AND
                           (^BM^EQLEN
                            (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X)
                            (^INT (^BM^CONS (^2) (^BM^ZERO))))
                           (EQUAL (^BM^CAR
                                   (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                    X))
                                  (^BM^PACK (^BM^CONS (^T) (^BM^ZERO))))))
                         (^BM^TRANSLATE (^BM^TRUE)
                          (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                           (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X)))
                         (IF (^BM^AND
                              (^BM^EQLEN
                               (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X)
                               (^INT (^BM^CONS (^2) (^BM^ZERO))))
                              (^BM^AND
                               (^BM^NOT
                                (EQUAL (^BM^CAR
                                        (^BM^CADRN
                                         (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                         X))
                                       (^BM^PACK (^BM^CONS (^T) (^BM^ZERO)))))
                               (^BM^LISTP
                                (^BM^CDRN (^INT (^BM^CONS (^2) (^BM^ZERO)))
                                 X))))
                             (^BM^FLIST4
                              (^BM^PACK
                               (^BM^CONS (^I) (^BM^CONS (^F) (^BM^ZERO))))
                              (^BM^TRANSLATE (^BM^TRUE)
                               (^BM^CAR
                                (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                 X)))
                              (^BM^TRANSLATE (^BM^TRUE)
                               (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                 X)))
                              (^BM^TRANSLATE (^BM^TRUE)
                               (^BM^CONS
                                (^BM^PACK
                                 (^BM^CONS (^C)
                                  (^BM^CONS (^O)
                                   (^BM^CONS (^N)
                                    (^BM^CONS (^D) (^BM^ZERO))))))
                                (^BM^CDRN (^INT (^BM^CONS (^2) (^BM^ZERO)))
                                 X))))
                             (^BM^FALSE)))
                     (IF (EQUAL (^BM^CAR X)
                                (^BM^PACK
                                 (^BM^CONS (^C)
                                  (^BM^CONS (^A)
                                   (^BM^CONS (^S)
                                    (^BM^CONS (^E) (^BM^ZERO)))))))
                         (IF (^BM^AND
                              (^BM^EQLEN X (^INT (^BM^CONS (^3) (^BM^ZERO))))
                              (^BM^AND
                               (^BM^EQLEN
                                (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X)
                                (^INT (^BM^CONS (^2) (^BM^ZERO))))
                               (^BM^AND
                                (EQUAL (^BM^CAR
                                        (^BM^CADRN
                                         (^INT (^BM^CONS (^2) (^BM^ZERO)))
                                         X))
                                       (^BM^PACK
                                        (^BM^CONS
                                         (^O)
                                         (^BM^CONS
                                          (^T)
                                          (^BM^CONS
                                           (^H)
                                           (^BM^CONS
                                            (^E)
                                            (^BM^CONS
                                             (^R)
                                             (^BM^CONS
                                              (^W)
                                              (^BM^CONS
                                               (^I)
                                               (^BM^CONS
                                                (^S)
                                                (^BM^CONS
                                                 (^E)
                                                 (^BM^ZERO))))))))))))
                                (^BM^TRANSLATE (^BM^TRUE)
                                 (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                  X)))))
                             (^BM^TRANSLATE (^BM^TRUE)
                              (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                               (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO)))
                                X)))
                             (IF (^BM^AND
                                  (^BM^EQLEN
                                   (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO)))
                                    X)
                                   (^INT (^BM^CONS (^2) (^BM^ZERO))))
                                  (^BM^AND
                                   (^BM^LISTP
                                    (^BM^CDRN (^INT (^BM^CONS (^3) (^BM^ZERO)))
                                     X))
                                   (^BM^NOT
                                    (^BM^MEMBER
                                     (^BM^CAR
                                      (^BM^CADRN
                                       (^INT (^BM^CONS (^2) (^BM^ZERO))) X))
                                     (^BM^STRIP-CARS
                                      (^BM^CDRN
                                       (^INT (^BM^CONS (^3) (^BM^ZERO)))
                                       X))))))
                                 (^BM^FLIST4
                                  (^BM^PACK
                                   (^BM^CONS (^I) (^BM^CONS (^F) (^BM^ZERO))))
                                  (^BM^FLIST3
                                   (^BM^PACK
                                    (^BM^CONS (^E)
                                     (^BM^CONS (^Q)
                                      (^BM^CONS (^U)
                                       (^BM^CONS
                                        (^A)
                                        (^BM^CONS (^L) (^BM^ZERO)))))))
                                   (^BM^TRANSLATE (^BM^TRUE)
                                    (^BM^CADRN
                                     (^INT (^BM^CONS (^1) (^BM^ZERO))) X))
                                   (^BM^QT
                                    (^BM^CAR
                                     (^BM^CADRN
                                      (^INT (^BM^CONS (^2) (^BM^ZERO))) X))))
                                  (^BM^TRANSLATE (^BM^TRUE)
                                   (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                    (^BM^CADRN
                                     (^INT (^BM^CONS (^2) (^BM^ZERO))) X)))
                                  (^BM^TRANSLATE (^BM^TRUE)
                                   (^BM^CONS
                                    (^BM^PACK
                                     (^BM^CONS (^C)
                                      (^BM^CONS (^A)
                                       (^BM^CONS
                                        (^S)
                                        (^BM^CONS (^E) (^BM^ZERO))))))
                                    (^BM^CONS
                                     (^BM^CADRN
                                      (^INT (^BM^CONS (^1) (^BM^ZERO))) X)
                                     (^BM^CDRN
                                      (^INT (^BM^CONS (^3) (^BM^ZERO))) X)))))
                                 (^BM^FALSE)))
                         (IF (EQUAL (^BM^CAR X)
                                    (^BM^PACK
                                     (^BM^CONS (^L)
                                      (^BM^CONS (^E)
                                       (^BM^CONS (^T) (^BM^ZERO))))))
                             (IF (^BM^DOUBLETS
                                  (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                   X))
                                 (IF (^BM^AND
                                      (^BM^EQLEN X
                                       (^INT (^BM^CONS (^3) (^BM^ZERO))))
                                      (^BM^AND
                                       (^BM^TRANSLATE
                                        (^BM^FALSE)
                                        (^BM^STRIP-CARS
                                         (^BM^CADRN
                                          (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                          X)))
                                       (^BM^AND
                                        (^BM^TRANSLATE
                                         (^BM^FALSE)
                                         (^BM^STRIP-CADRS
                                          (^BM^CADRN
                                           (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                           X)))
                                        (^BM^AND
                                         (^BM^TRANSLATE
                                          (^BM^TRUE)
                                          (^BM^CADRN
                                           (^INT (^BM^CONS (^2) (^BM^ZERO)))
                                           X))
                                         (^BM^AND
                                          (^BM^SYMBOLPS
                                           (^BM^TRANSLATE
                                            (^BM^FALSE)
                                            (^BM^STRIP-CARS
                                             (^BM^CADRN
                                              (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                              X))))
                                          (^BM^NOT
                                           (^BM^DUPLICATESP
                                            (^BM^TRANSLATE
                                             (^BM^FALSE)
                                             (^BM^STRIP-CARS
                                              (^BM^CADRN
                                               (^INT
                                                (^BM^CONS (^1) (^BM^ZERO)))
                                               X))))))))))
                                     (^BM^SUBLIS-VAR (^BM^TRUE)
                                      (^BM^PAIRLIST
                                       (^BM^TRANSLATE
                                        (^BM^FALSE)
                                        (^BM^STRIP-CARS
                                         (^BM^CADRN
                                          (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                          X)))
                                       (^BM^TRANSLATE
                                        (^BM^FALSE)
                                        (^BM^STRIP-CADRS
                                         (^BM^CADRN
                                          (^INT (^BM^CONS (^1) (^BM^ZERO)))
                                          X))))
                                      (^BM^TRANSLATE (^BM^TRUE)
                                       (^BM^CADRN
                                        (^INT (^BM^CONS (^2) (^BM^ZERO)))
                                        X)))
                                     (^BM^FALSE))
                                 (^BM^FALSE))
                             (IF (^BM^NOT
                                  (^BM^TRANSLATE (^BM^FALSE) (^BM^CDR X)))
                                 (^BM^FALSE)
                                 (IF (^BM^OR (EQUAL (^BM^CAR X) (^NIL))
                                      (^BM^OR
                                       (EQUAL
                                        (^BM^CAR X)
                                        (^BM^PACK (^BM^CONS (^T) (^BM^ZERO))))
                                       (EQUAL
                                        (^BM^CAR X)
                                        (^BM^PACK
                                         (^BM^CONS (^F) (^BM^ZERO))))))
                                     (^BM^FALSE)
                                     (IF (EQUAL
                                          (^BM^CAR X)
                                          (^BM^PACK
                                           (^BM^CONS
                                            (^L)
                                            (^BM^CONS
                                             (^I)
                                             (^BM^CONS
                                              (^S)
                                              (^BM^CONS (^T) (^BM^ZERO)))))))
                                         (^BM^FN-NEST
                                          (^BM^PACK
                                           (^BM^CONS
                                            (^C)
                                            (^BM^CONS
                                             (^O)
                                             (^BM^CONS
                                              (^N)
                                              (^BM^CONS (^S) (^BM^ZERO))))))
                                          (^BM^TRANSLATE
                                           (^BM^FALSE)
                                           (^BM^CDR X))
                                          (^BM^QT (^NIL)))
                                         (IF
                                          (EQUAL
                                           (^BM^CAR X)
                                           (^BM^PACK
                                            (^BM^CONS
                                             (^L)
                                             (^BM^CONS
                                              (^I)
                                              (^BM^CONS
                                               (^S)
                                               (^BM^CONS
                                                (^T)
                                                (^BM^CONS
                                                 (^*)
                                                 (^BM^ZERO))))))))
                                          (IF
                                           (^BM^EQLEN
                                            X
                                            (^INT (^BM^CONS (^1) (^BM^ZERO))))
                                           (^BM^FALSE)
                                           (^BM^FN-NEST
                                            (^BM^PACK
                                             (^BM^CONS
                                              (^C)
                                              (^BM^CONS
                                               (^O)
                                               (^BM^CONS
                                                (^N)
                                                (^BM^CONS (^S) (^BM^ZERO))))))
                                            (^BM^ALL-BUT-LAST
                                             (^BM^TRANSLATE
                                              (^BM^FALSE)
                                              (^BM^CDR X)))
                                            (^BM^CAR
                                             (^BM^LAST
                                              (^BM^TRANSLATE
                                               (^BM^FALSE)
                                               (^BM^CDR X))))))
                                          (IF
                                           (^BM^CAR-CDR-SYMBOLP (^BM^CAR X))
                                           (IF
                                            (^BM^EQLEN
                                             X
                                             (^INT (^BM^CONS (^2) (^BM^ZERO))))
                                            (^BM^CAR-CDR-NEST
                                             (^BM^A-D-SEQUENCE (^BM^CAR X))
                                             (^BM^TRANSLATE
                                              (^BM^TRUE)
                                              (^BM^CADRN
                                               (^INT
                                                (^BM^CONS (^1) (^BM^ZERO)))
                                               X)))
                                            (^BM^FALSE))
                                           (IF
                                            (^BM^EQLEN
                                             (^BM^CDR X)
                                             (^BM^ARITY (^BM^CAR X)))
                                            (^BM^FCONS
                                             (^BM^CAR X)
                                             (^BM^TRANSLATE
                                              (^BM^FALSE)
                                              (^BM^CDR X)))
                                            (IF
                                             (EQUAL
                                              (^BM^CAR X)
                                              (^BM^PACK
                                               (^BM^CONS
                                                (^F)
                                                (^BM^CONS
                                                 (^O)
                                                 (^BM^CONS (^R) (^BM^ZERO))))))
                                             (IF
                                              (^BM^ABBREVIATED-FORP X)
                                              (^BM^FLIST7
                                               (^BM^PACK
                                                (^BM^CONS
                                                 (^F)
                                                 (^BM^CONS
                                                  (^O)
                                                  (^BM^CONS (^R) (^BM^ZERO)))))
                                               (^BM^QT
                                                (^BM^ABBREVIATED-FOR-VAR X))
                                               (^BM^TRANSLATE
                                                (^BM^TRUE)
                                                (^BM^ABBREVIATED-FOR-RANGE X))
                                               (^BM^QT
                                                (^BM^TRANSLATE
                                                 (^BM^TRUE)
                                                 (^BM^ABBREVIATED-FOR-WHEN X)))
                                               (^BM^QT
                                                (^BM^ABBREVIATED-FOR-OP X))
                                               (^BM^QT
                                                (^BM^TRANSLATE
                                                 (^BM^TRUE)
                                                 (^BM^ABBREVIATED-FOR-BODY X)))
                                               (^BM^MAKE-ALIST
                                                (^BM^ABBREVIATED-FOR-VAR X)
                                                (^BM^TRANSLATE
                                                 (^BM^TRUE)
                                                 (^BM^ABBREVIATED-FOR-WHEN X))
                                                (^BM^TRANSLATE
                                                 (^BM^TRUE)
                                                 (^BM^ABBREVIATED-FOR-BODY
                                                  X))))
                                              (^BM^FALSE))
                                             (IF
                                              (^BM^AND
                                               (^BM^LESSP
                                                (^INT
                                                 (^BM^CONS (^2) (^BM^ZERO)))
                                                (^BM^LENGTH (^BM^CDR X)))
                                               (^BM^OR
                                                (EQUAL
                                                 (^BM^CAR X)
                                                 (^BM^PACK
                                                  (^BM^CONS
                                                   (^A)
                                                   (^BM^CONS
                                                    (^N)
                                                    (^BM^CONS
                                                     (^D)
                                                     (^BM^ZERO))))))
                                                (^BM^OR
                                                 (EQUAL
                                                  (^BM^CAR X)
                                                  (^BM^PACK
                                                   (^BM^CONS
                                                    (^O)
                                                    (^BM^CONS
                                                     (^R)
                                                     (^BM^ZERO)))))
                                                 (^BM^OR
                                                  (EQUAL
                                                   (^BM^CAR X)
                                                   (^BM^PACK
                                                    (^BM^CONS
                                                     (^P)
                                                     (^BM^CONS
                                                      (^L)
                                                      (^BM^CONS
                                                       (^U)
                                                       (^BM^CONS
                                                        (^S)
                                                        (^BM^ZERO)))))))
                                                  (EQUAL
                                                   (^BM^CAR X)
                                                   (^BM^PACK
                                                    (^BM^CONS
                                                     (^T)
                                                     (^BM^CONS
                                                      (^I)
                                                      (^BM^CONS
                                                       (^M)
                                                       (^BM^CONS
                                                        (^E)
                                                        (^BM^CONS
                                                         (^S)
                                                         (^BM^ZERO))))))))))))
                                              (^BM^FN-NEST
                                               (^BM^CAR X)
                                               (^BM^ALL-BUT-LAST
                                                (^BM^TRANSLATE
                                                 (^BM^FALSE)
                                                 (^BM^CDR X)))
                                               (^BM^CAR
                                                (^BM^LAST
                                                 (^BM^TRANSLATE
                                                  (^BM^FALSE)
                                                  (^BM^CDR X)))))
                                              (^BM^FALSE)))))))))))))))
     (IF (^BM^NLISTP X)
         (^NIL)
         (^BM^FCONS (^BM^TRANSLATE (^BM^TRUE) (^BM^CAR X))
          (^BM^TRANSLATE (^BM^FALSE) (^BM^CDR X))))))

(DEFINE (^BM^EXSYN STREAM)
 (IF (^BM^READABLE (^BM^READ-TOKEN-TREE STREAM) (^INT (^BM^ZERO)))
     (^BM^TRANSLATE (^BM^TRUE)
      (^BM^READMACRO-EXPANSION (^BM^READ-TOKEN-TREE STREAM)))
     (^BM^FALSE)))

(DEFINE (^BM^ADD1-NESTP X I)
 (IF (^BM^NLISTP X)
     (^BM^FALSE)
     (IF (^BM^AND
          (EQUAL (^BM^CAR X)
                 (^BM^PACK
                  (^BM^CONS (^Z)
                   (^BM^CONS (^E)
                    (^BM^CONS (^R) (^BM^CONS (^O) (^BM^ZERO)))))))
          (^BM^EQLEN X (^INT (^BM^CONS (^1) (^BM^ZERO)))))
         I
         (IF (^BM^AND
              (EQUAL (^BM^CAR X)
                     (^BM^PACK
                      (^BM^CONS (^A)
                       (^BM^CONS (^D)
                        (^BM^CONS (^D) (^BM^CONS (^N1) (^BM^ZERO)))))))
              (^BM^EQLEN X (^INT (^BM^CONS (^2) (^BM^ZERO)))))
             (^BM^ADD1-NESTP (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X)
              (^BM^ADD1 I))
             (^BM^FALSE)))))

(DEFINE (^BM^CONS-ADD1-NESTP X)
 (IF (^BM^NLISTP X)
     (^BM^FALSE)
     (IF (^BM^AND
          (EQUAL (^BM^CAR X)
                 (^BM^PACK
                  (^BM^CONS (^Z)
                   (^BM^CONS (^E)
                    (^BM^CONS (^R) (^BM^CONS (^O) (^BM^ZERO)))))))
          (^BM^EQLEN X (^INT (^BM^CONS (^1) (^BM^ZERO)))))
         (^INT (^BM^ZERO))
         (IF (^BM^AND
              (EQUAL (^BM^CAR X)
                     (^BM^PACK
                      (^BM^CONS (^C)
                       (^BM^CONS (^O)
                        (^BM^CONS (^N) (^BM^CONS (^S) (^BM^ZERO)))))))
              (^BM^EQLEN X (^INT (^BM^CONS (^3) (^BM^ZERO)))))
             (^BM^FCONS
              (^BM^ADD1-NESTP (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X)
               (^INT (^BM^ZERO)))
              (^BM^CONS-ADD1-NESTP
               (^BM^CADRN (^INT (^BM^CONS (^2) (^BM^ZERO))) X)))
             (^BM^FALSE)))))

(DEFINE (^BM^EXPLODED-LITATOM X)
 (IF (^BM^AND (^BM^EQLEN X (^INT (^BM^CONS (^2) (^BM^ZERO))))
      (^BM^AND
       (EQUAL (^BM^CAR X)
              (^BM^PACK
               (^BM^CONS (^P)
                (^BM^CONS (^A) (^BM^CONS (^C) (^BM^CONS (^K) (^BM^ZERO)))))))
       (^BM^CONS-ADD1-NESTP (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X))))
     (^BM^LIST2
      (^BM^PACK
       (^BM^CONS (^Q)
        (^BM^CONS (^U)
         (^BM^CONS (^O) (^BM^CONS (^T) (^BM^CONS (^E) (^BM^ZERO)))))))
      (^BM^PACK
       (^BM^CONS-ADD1-NESTP (^BM^CADRN (^INT (^BM^CONS (^1) (^BM^ZERO))) X))))
     (^BM^FALSE)))

(DEFINE (^BM^ABBREV FLG X)
 (IF FLG
     (IF (^BM^NLISTP X)
         X
         (IF (^BM^ADD1-NESTP X (^INT (^BM^ZERO)))
             (^BM^ADD1-NESTP X (^INT (^BM^ZERO)))
             (IF (^BM^EXPLODED-LITATOM X)
                 (^BM^EXPLODED-LITATOM X)
                 (^BM^CONS (^BM^CAR X) (^BM^ABBREV (^BM^FALSE) (^BM^CDR X))))))
     (IF (^BM^NLISTP X)
         (^NIL)
         (^BM^CONS (^BM^ABBREV (^BM^TRUE) (^BM^CAR X))
          (^BM^ABBREV (^BM^FALSE) (^BM^CDR X))))))

(DEFINE (^BM^AEXSYN STREAM)
 (IF (^BM^READABLE (^BM^READ-TOKEN-TREE STREAM) (^INT (^BM^ZERO)))
     (^BM^ABBREV (^BM^TRUE)
      (^BM^TRANSLATE (^BM^TRUE)
       (^BM^READMACRO-EXPANSION (^BM^READ-TOKEN-TREE STREAM))))
     (^BM^FALSE)))
