
(/VERSIONCHECK 2) 

(PUT '|NSUP;rep| '|SPADreplace| '(XLAM (|s|) |s|)) 

(DEFUN |NSUP;rep| (|s| $) |s|) 

(PUT '|NSUP;per| '|SPADreplace| '(XLAM (|l|) |l|)) 

(DEFUN |NSUP;per| (|l| $) |l|) 

(PUT '|NSUP;coerce;$Sup;3| '|SPADreplace| '(XLAM (|p|) |p|)) 

(DEFUN |NSUP;coerce;$Sup;3| (|p| $) |p|) 

(PUT '|NSUP;coerce;Sup$;4| '|SPADreplace| '(XLAM (|p|) |p|)) 

(DEFUN |NSUP;coerce;Sup$;4| (|p| $) |p|) 

(PUT '|NSUP;retractIfCan;$U;5| '|SPADreplace| '(XLAM (|p|) (CONS 0 |p|))) 

(DEFUN |NSUP;retractIfCan;$U;5| (|p| $) (CONS 0 |p|)) 

(DEFUN |NSUP;monicModulo;3$;6| (|x| |y| $)
  (PROG (#1=#:G719 |xx| |u| |e| |yy|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |y| (QREFELT $ 12))
        (|error| "in monicModulo$NSUP: division by 0"))
       ((SPADCALL |y| (QREFELT $ 13))
        (|error| "in monicModulo$NSUP: ground? #2"))
       (#2='T
        (SEQ (LETT |yy| (|NSUP;rep| |y| $) . #3=(|NSUP;monicModulo;3$;6|))
             (COND
              ((NULL
                (SPADCALL (QCDR (|SPADfirst| |yy|)) (|spadConstant| $ 14)
                          (QREFELT $ 15)))
               (EXIT (|error| "in monicModulo$NSUP: not monic #2"))))
             (LETT |xx| (|NSUP;rep| |x| $) . #3#)
             (EXIT
              (COND ((NULL |xx|) |x|)
                    (#2#
                     (SEQ (LETT |e| (QCAR (|SPADfirst| |yy|)) . #3#)
                          (LETT |y| (|NSUP;per| (CDR |yy|) $) . #3#)
                          (SEQ
                           (EXIT
                            (SEQ G190 NIL
                                 (SEQ
                                  (SEQ
                                   (LETT |u|
                                         (SPADCALL (QCAR (|SPADfirst| |xx|))
                                                   |e| (QREFELT $ 18))
                                         . #3#)
                                   (EXIT
                                    (COND
                                     ((QEQCAR |u| 1)
                                      (PROGN
                                       (LETT #1# |$NoValue| . #3#)
                                       (GO #1#))))))
                                  (LETT |xx|
                                        (|NSUP;rep|
                                         (SPADCALL (|NSUP;per| (CDR |xx|) $)
                                                   (QCDR |u|)
                                                   (QCDR (|SPADfirst| |xx|))
                                                   |y| (QREFELT $ 19))
                                         $)
                                        . #3#)
                                  (EXIT
                                   (COND
                                    ((NULL |xx|)
                                     (PROGN
                                      (LETT #1# |$NoValue| . #3#)
                                      (GO #1#))))))
                                 NIL (GO G190) G191 (EXIT NIL)))
                           #1# (EXIT #1#))
                          (EXIT (|NSUP;per| |xx| $))))))))))))) 

(DEFUN |NSUP;lazyResidueClass;2$R;7| (|x| |y| $)
  (PROG (#1=#:G731 |pow| |xx| |u| |e| |co| |yy|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |y| (QREFELT $ 12))
        (|error| "in lazyResidueClass$NSUP: division by 0"))
       ((SPADCALL |y| (QREFELT $ 13))
        (|error| "in lazyResidueClass$NSUP: ground? #2"))
       (#2='T
        (SEQ
         (LETT |yy| (|NSUP;rep| |y| $) . #3=(|NSUP;lazyResidueClass;2$R;7|))
         (LETT |co| (QCDR (|SPADfirst| |yy|)) . #3#)
         (LETT |xx| (|NSUP;rep| |x| $) . #3#)
         (EXIT
          (COND ((NULL |xx|) (VECTOR |x| |co| 0))
                (#2#
                 (SEQ (LETT |pow| 0 . #3#)
                      (LETT |e| (QCAR (|SPADfirst| |yy|)) . #3#)
                      (LETT |y| (|NSUP;per| (CDR |yy|) $) . #3#)
                      (SEQ
                       (EXIT
                        (SEQ G190 NIL
                             (SEQ
                              (SEQ
                               (LETT |u|
                                     (SPADCALL (QCAR (|SPADfirst| |xx|)) |e|
                                               (QREFELT $ 18))
                                     . #3#)
                               (EXIT
                                (COND
                                 ((QEQCAR |u| 1)
                                  (PROGN
                                   (LETT #1# |$NoValue| . #3#)
                                   (GO #1#))))))
                              (LETT |xx|
                                    (|NSUP;rep|
                                     (SPADCALL
                                      (SPADCALL |co| (|NSUP;per| (CDR |xx|) $)
                                                (QREFELT $ 23))
                                      (QCDR |u|) (QCDR (|SPADfirst| |xx|)) |y|
                                      (QREFELT $ 19))
                                     $)
                                    . #3#)
                              (LETT |pow| (+ |pow| 1) . #3#)
                              (EXIT
                               (COND
                                ((NULL |xx|)
                                 (PROGN
                                  (LETT #1# |$NoValue| . #3#)
                                  (GO #1#))))))
                             NIL (GO G190) G191 (EXIT NIL)))
                       #1# (EXIT #1#))
                      (EXIT (VECTOR (|NSUP;per| |xx| $) |co| |pow|))))))))))))) 

(DEFUN |NSUP;lazyPseudoRemainder;3$;8| (|x| |y| $)
  (PROG (#1=#:G743 |xx| |u| |e| |co| |yy|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |y| (QREFELT $ 12))
        (|error| "in lazyPseudoRemainder$NSUP: division by 0"))
       ((SPADCALL |y| (QREFELT $ 13))
        (|error| "in lazyPseudoRemainder$NSUP: ground? #2"))
       ((SPADCALL |x| (QREFELT $ 13)) |x|)
       (#2='T
        (SEQ
         (LETT |yy| (|NSUP;rep| |y| $) . #3=(|NSUP;lazyPseudoRemainder;3$;8|))
         (LETT |co| (QCDR (|SPADfirst| |yy|)) . #3#)
         (EXIT
          (COND
           ((SPADCALL |co| (|spadConstant| $ 14) (QREFELT $ 15))
            (SPADCALL |x| |y| (QREFELT $ 20)))
           ((SPADCALL |co| (SPADCALL (|spadConstant| $ 14) (QREFELT $ 27))
                      (QREFELT $ 15))
            (SPADCALL
             (SPADCALL (SPADCALL |x| (QREFELT $ 28))
                       (SPADCALL |y| (QREFELT $ 28)) (QREFELT $ 20))
             (QREFELT $ 28)))
           (#2#
            (SEQ (LETT |xx| (|NSUP;rep| |x| $) . #3#)
                 (LETT |e| (QCAR (|SPADfirst| |yy|)) . #3#)
                 (LETT |y| (|NSUP;per| (CDR |yy|) $) . #3#)
                 (SEQ
                  (EXIT
                   (SEQ G190 NIL
                        (SEQ
                         (SEQ
                          (LETT |u|
                                (SPADCALL (QCAR (|SPADfirst| |xx|)) |e|
                                          (QREFELT $ 18))
                                . #3#)
                          (EXIT
                           (COND
                            ((QEQCAR |u| 1)
                             (PROGN (LETT #1# |$NoValue| . #3#) (GO #1#))))))
                         (LETT |xx|
                               (|NSUP;rep|
                                (SPADCALL
                                 (SPADCALL |co| (|NSUP;per| (CDR |xx|) $)
                                           (QREFELT $ 23))
                                 (QCDR |u|) (QCDR (|SPADfirst| |xx|)) |y|
                                 (QREFELT $ 19))
                                $)
                               . #3#)
                         (EXIT
                          (COND
                           ((NULL |xx|)
                            (PROGN (LETT #1# |$NoValue| . #3#) (GO #1#))))))
                        NIL (GO G190) G191 (EXIT NIL)))
                  #1# (EXIT #1#))
                 (EXIT (|NSUP;per| |xx| $))))))))))))) 

(DEFUN |NSUP;lazyPseudoDivide;2$R;9| (|x| |y| $)
  (PROG (#1=#:G759 |pow| #2=#:G755 |xx| |qq| |u| |co| |e| |yy|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |y| (QREFELT $ 12))
        (|error| "in lazyPseudoDivide$NSUP: division by 0"))
       ((SPADCALL |y| (QREFELT $ 13))
        (|error| "in lazyPseudoDivide$NSUP: ground? #2"))
       ('T
        (SEQ
         (LETT |yy| (|NSUP;rep| |y| $) . #3=(|NSUP;lazyPseudoDivide;2$R;9|))
         (LETT |e| (QCAR (|SPADfirst| |yy|)) . #3#)
         (LETT |xx| (|NSUP;rep| |x| $) . #3#)
         (LETT |co| (QCDR (|SPADfirst| |yy|)) . #3#)
         (COND
          ((OR (NULL |xx|) (< (QCAR (|SPADfirst| |xx|)) |e|))
           (EXIT (VECTOR |co| 0 (|spadConstant| $ 21) |x|))))
         (LETT |pow|
               (+
                (PROG2
                    (LETT #2#
                          (SPADCALL (QCAR (|SPADfirst| |xx|)) |e|
                                    (QREFELT $ 18))
                          . #3#)
                    (QCDR #2#)
                  (|check-union| (QEQCAR #2# 0) (|NonNegativeInteger|) #2#))
                1)
               . #3#)
         (LETT |qq| NIL . #3#) (LETT |y| (|NSUP;per| (CDR |yy|) $) . #3#)
         (SEQ
          (EXIT
           (SEQ G190 NIL
                (SEQ
                 (SEQ
                  (LETT |u|
                        (SPADCALL (QCAR (|SPADfirst| |xx|)) |e| (QREFELT $ 18))
                        . #3#)
                  (EXIT
                   (COND
                    ((QEQCAR |u| 1)
                     (PROGN (LETT #1# |$NoValue| . #3#) (GO #1#))))))
                 (LETT |qq|
                       (CONS (CONS (QCDR |u|) (QCDR (|SPADfirst| |xx|)))
                             (|NSUP;rep|
                              (SPADCALL |co| (|NSUP;per| |qq| $)
                                        (QREFELT $ 23))
                              $))
                       . #3#)
                 (LETT |xx|
                       (|NSUP;rep|
                        (SPADCALL
                         (SPADCALL |co| (|NSUP;per| (CDR |xx|) $)
                                   (QREFELT $ 23))
                         (QCDR |u|) (QCDR (|SPADfirst| |xx|)) |y|
                         (QREFELT $ 19))
                        $)
                       . #3#)
                 (LETT |pow|
                       (PROG2
                           (LETT #2# (SPADCALL |pow| 1 (QREFELT $ 18)) . #3#)
                           (QCDR #2#)
                         (|check-union| (QEQCAR #2# 0) (|NonNegativeInteger|)
                                        #2#))
                       . #3#)
                 (EXIT
                  (COND
                   ((NULL |xx|)
                    (PROGN (LETT #1# |$NoValue| . #3#) (GO #1#))))))
                NIL (GO G190) G191 (EXIT NIL)))
          #1# (EXIT #1#))
         (EXIT
          (VECTOR |co| |pow| (|NSUP;per| (REVERSE |qq|) $)
                  (|NSUP;per| |xx| $)))))))))) 

(DEFUN |NSUP;lazyPseudoQuotient;3$;10| (|x| |y| $)
  (PROG (#1=#:G772 |xx| |qq| |u| |co| |e| |yy|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |y| (QREFELT $ 12))
        (|error| "in lazyPseudoQuotient$NSUP: division by 0"))
       ((SPADCALL |y| (QREFELT $ 13))
        (|error| "in lazyPseudoQuotient$NSUP: ground? #2"))
       ('T
        (SEQ
         (LETT |yy| (|NSUP;rep| |y| $) . #2=(|NSUP;lazyPseudoQuotient;3$;10|))
         (LETT |e| (QCAR (|SPADfirst| |yy|)) . #2#)
         (LETT |xx| (|NSUP;rep| |x| $) . #2#)
         (COND
          ((OR (NULL |xx|) (< (QCAR (|SPADfirst| |xx|)) |e|))
           (EXIT (|spadConstant| $ 21))))
         (LETT |qq| NIL . #2#) (LETT |co| (QCDR (|SPADfirst| |yy|)) . #2#)
         (LETT |y| (|NSUP;per| (CDR |yy|) $) . #2#)
         (SEQ
          (EXIT
           (SEQ G190 NIL
                (SEQ
                 (SEQ
                  (LETT |u|
                        (SPADCALL (QCAR (|SPADfirst| |xx|)) |e| (QREFELT $ 18))
                        . #2#)
                  (EXIT
                   (COND
                    ((QEQCAR |u| 1)
                     (PROGN (LETT #1# |$NoValue| . #2#) (GO #1#))))))
                 (LETT |qq|
                       (CONS (CONS (QCDR |u|) (QCDR (|SPADfirst| |xx|)))
                             (|NSUP;rep|
                              (SPADCALL |co| (|NSUP;per| |qq| $)
                                        (QREFELT $ 23))
                              $))
                       . #2#)
                 (LETT |xx|
                       (|NSUP;rep|
                        (SPADCALL
                         (SPADCALL |co| (|NSUP;per| (CDR |xx|) $)
                                   (QREFELT $ 23))
                         (QCDR |u|) (QCDR (|SPADfirst| |xx|)) |y|
                         (QREFELT $ 19))
                        $)
                       . #2#)
                 (EXIT
                  (COND
                   ((NULL |xx|)
                    (PROGN (LETT #1# |$NoValue| . #2#) (GO #1#))))))
                NIL (GO G190) G191 (EXIT NIL)))
          #1# (EXIT #1#))
         (EXIT (|NSUP;per| (REVERSE |qq|) $))))))))) 

(DEFUN |NSUP;subResultantGcd;3$;11| (|p1| |p2| $)
  (SPADCALL |p1| |p2| (QREFELT $ 34))) 

(DEFUN |NSUP;subResultantsChain;2$L;12| (|p1| |p2| $)
  (SPADCALL |p1| |p2| (QREFELT $ 37))) 

(DEFUN |NSUP;lastSubResultant;3$;13| (|p1| |p2| $)
  (SPADCALL |p1| |p2| (QREFELT $ 40))) 

(DEFUN |NSUP;resultant;2$R;14| (|p1| |p2| $)
  (SPADCALL |p1| |p2| (QREFELT $ 42))) 

(DEFUN |NSUP;extendedResultant;2$R;15| (|p1| |p2| $)
  (PROG (|re|)
    (RETURN
     (SEQ
      (LETT |re| (SPADCALL |p1| |p2| (QREFELT $ 45))
            |NSUP;extendedResultant;2$R;15|)
      (EXIT (VECTOR (QVELT |re| 2) (QVELT |re| 0) (QVELT |re| 1))))))) 

(DEFUN |NSUP;halfExtendedResultant1;2$R;16| (|p1| |p2| $)
  (PROG (|re|)
    (RETURN
     (SEQ
      (LETT |re| (SPADCALL |p1| |p2| (QREFELT $ 49))
            |NSUP;halfExtendedResultant1;2$R;16|)
      (EXIT (CONS (QCDR |re|) (QCAR |re|))))))) 

(DEFUN |NSUP;halfExtendedResultant2;2$R;17| (|p1| |p2| $)
  (PROG (|re|)
    (RETURN
     (SEQ
      (LETT |re| (SPADCALL |p1| |p2| (QREFELT $ 53))
            |NSUP;halfExtendedResultant2;2$R;17|)
      (EXIT (CONS (QCDR |re|) (QCAR |re|))))))) 

(DEFUN |NSUP;extendedSubResultantGcd;2$R;18| (|p1| |p2| $)
  (PROG (|re|)
    (RETURN
     (SEQ
      (LETT |re| (SPADCALL |p1| |p2| (QREFELT $ 57))
            |NSUP;extendedSubResultantGcd;2$R;18|)
      (EXIT (VECTOR (QVELT |re| 2) (QVELT |re| 0) (QVELT |re| 1))))))) 

(DEFUN |NSUP;halfExtendedSubResultantGcd1;2$R;19| (|p1| |p2| $)
  (PROG (|re|)
    (RETURN
     (SEQ
      (LETT |re| (SPADCALL |p1| |p2| (QREFELT $ 61))
            |NSUP;halfExtendedSubResultantGcd1;2$R;19|)
      (EXIT (CONS (QCDR |re|) (QCAR |re|))))))) 

(DEFUN |NSUP;halfExtendedSubResultantGcd2;2$R;20| (|p1| |p2| $)
  (PROG (|re|)
    (RETURN
     (SEQ
      (LETT |re| (SPADCALL |p1| |p2| (QREFELT $ 65))
            |NSUP;halfExtendedSubResultantGcd2;2$R;20|)
      (EXIT (CONS (QCDR |re|) (QCAR |re|))))))) 

(DEFUN |NSUP;pseudoDivide;2$R;21| (|x| |y| $)
  (PROG (|q| |default| #1=#:G825 |pow| #2=#:G821 |xx| |qq| |u| |co| |e| |yy|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |y| (QREFELT $ 12))
        (|error| "in pseudoDivide$NSUP: division by 0"))
       ((SPADCALL |y| (QREFELT $ 13))
        (|error| "in pseudoDivide$NSUP: ground? #2"))
       (#3='T
        (SEQ (LETT |yy| (|NSUP;rep| |y| $) . #4=(|NSUP;pseudoDivide;2$R;21|))
             (LETT |e| (QCAR (|SPADfirst| |yy|)) . #4#)
             (LETT |xx| (|NSUP;rep| |x| $) . #4#)
             (LETT |co| (QCDR (|SPADfirst| |yy|)) . #4#)
             (COND
              ((OR (NULL |xx|) (< (QCAR (|SPADfirst| |xx|)) |e|))
               (EXIT (VECTOR |co| (|spadConstant| $ 21) |x|))))
             (LETT |pow|
                   (+
                    (PROG2
                        (LETT #2#
                              (SPADCALL (QCAR (|SPADfirst| |xx|)) |e|
                                        (QREFELT $ 18))
                              . #4#)
                        (QCDR #2#)
                      (|check-union| (QEQCAR #2# 0) (|NonNegativeInteger|)
                                     #2#))
                    1)
                   . #4#)
             (LETT |qq| NIL . #4#) (LETT |y| (|NSUP;per| (CDR |yy|) $) . #4#)
             (SEQ
              (EXIT
               (SEQ G190 NIL
                    (SEQ
                     (SEQ
                      (LETT |u|
                            (SPADCALL (QCAR (|SPADfirst| |xx|)) |e|
                                      (QREFELT $ 18))
                            . #4#)
                      (EXIT
                       (COND
                        ((QEQCAR |u| 1)
                         (PROGN (LETT #1# |$NoValue| . #4#) (GO #1#))))))
                     (LETT |qq|
                           (CONS (CONS (QCDR |u|) (QCDR (|SPADfirst| |xx|)))
                                 (|NSUP;rep|
                                  (SPADCALL |co| (|NSUP;per| |qq| $)
                                            (QREFELT $ 23))
                                  $))
                           . #4#)
                     (LETT |xx|
                           (|NSUP;rep|
                            (SPADCALL
                             (SPADCALL |co| (|NSUP;per| (CDR |xx|) $)
                                       (QREFELT $ 23))
                             (QCDR |u|) (QCDR (|SPADfirst| |xx|)) |y|
                             (QREFELT $ 19))
                            $)
                           . #4#)
                     (LETT |pow|
                           (PROG2
                               (LETT #2# (SPADCALL |pow| 1 (QREFELT $ 18))
                                     . #4#)
                               (QCDR #2#)
                             (|check-union| (QEQCAR #2# 0)
                                            (|NonNegativeInteger|) #2#))
                           . #4#)
                     (EXIT
                      (COND
                       ((NULL |xx|)
                        (PROGN (LETT #1# |$NoValue| . #4#) (GO #1#))))))
                    NIL (GO G190) G191 (EXIT NIL)))
              #1# (EXIT #1#))
             (EXIT
              (COND
               ((ZEROP |pow|)
                (VECTOR |co| (|NSUP;per| (REVERSE |qq|) $)
                        (|NSUP;per| |xx| $)))
               (#3#
                (SEQ
                 (LETT |default| (SPADCALL |co| |pow| (QREFELT $ 68)) . #4#)
                 (LETT |q|
                       (SPADCALL |default| (|NSUP;per| (REVERSE |qq|) $)
                                 (QREFELT $ 23))
                       . #4#)
                 (LETT |x|
                       (SPADCALL |default| (|NSUP;per| |xx| $) (QREFELT $ 23))
                       . #4#)
                 (EXIT (VECTOR |co| |q| |x|))))))))))))) 

(DEFUN |NSUP;pseudoQuotient;3$;22| (|x| |y| $)
  (PROG (#1=#:G839 |pow| #2=#:G835 |xx| |qq| |u| |co| |e| |yy|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |y| (QREFELT $ 12))
        (|error| "in pseudoDivide$NSUP: division by 0"))
       ((SPADCALL |y| (QREFELT $ 13))
        (|error| "in pseudoDivide$NSUP: ground? #2"))
       (#3='T
        (SEQ (LETT |yy| (|NSUP;rep| |y| $) . #4=(|NSUP;pseudoQuotient;3$;22|))
             (LETT |e| (QCAR (|SPADfirst| |yy|)) . #4#)
             (LETT |xx| (|NSUP;rep| |x| $) . #4#)
             (COND
              ((OR (NULL |xx|) (< (QCAR (|SPADfirst| |xx|)) |e|))
               (EXIT (|spadConstant| $ 21))))
             (LETT |pow|
                   (+
                    (PROG2
                        (LETT #2#
                              (SPADCALL (QCAR (|SPADfirst| |xx|)) |e|
                                        (QREFELT $ 18))
                              . #4#)
                        (QCDR #2#)
                      (|check-union| (QEQCAR #2# 0) (|NonNegativeInteger|)
                                     #2#))
                    1)
                   . #4#)
             (LETT |qq| NIL . #4#) (LETT |co| (QCDR (|SPADfirst| |yy|)) . #4#)
             (LETT |y| (|NSUP;per| (CDR |yy|) $) . #4#)
             (SEQ
              (EXIT
               (SEQ G190 NIL
                    (SEQ
                     (SEQ
                      (LETT |u|
                            (SPADCALL (QCAR (|SPADfirst| |xx|)) |e|
                                      (QREFELT $ 18))
                            . #4#)
                      (EXIT
                       (COND
                        ((QEQCAR |u| 1)
                         (PROGN (LETT #1# |$NoValue| . #4#) (GO #1#))))))
                     (LETT |qq|
                           (CONS (CONS (QCDR |u|) (QCDR (|SPADfirst| |xx|)))
                                 (|NSUP;rep|
                                  (SPADCALL |co| (|NSUP;per| |qq| $)
                                            (QREFELT $ 23))
                                  $))
                           . #4#)
                     (LETT |xx|
                           (|NSUP;rep|
                            (SPADCALL
                             (SPADCALL |co| (|NSUP;per| (CDR |xx|) $)
                                       (QREFELT $ 23))
                             (QCDR |u|) (QCDR (|SPADfirst| |xx|)) |y|
                             (QREFELT $ 19))
                            $)
                           . #4#)
                     (LETT |pow|
                           (PROG2
                               (LETT #2# (SPADCALL |pow| 1 (QREFELT $ 18))
                                     . #4#)
                               (QCDR #2#)
                             (|check-union| (QEQCAR #2# 0)
                                            (|NonNegativeInteger|) #2#))
                           . #4#)
                     (EXIT
                      (COND
                       ((NULL |xx|)
                        (PROGN (LETT #1# |$NoValue| . #4#) (GO #1#))))))
                    NIL (GO G190) G191 (EXIT NIL)))
              #1# (EXIT #1#))
             (EXIT
              (COND ((ZEROP |pow|) (|NSUP;per| (REVERSE |qq|) $))
                    (#3#
                     (SPADCALL (SPADCALL |co| |pow| (QREFELT $ 68))
                               (|NSUP;per| (REVERSE |qq|) $)
                               (QREFELT $ 23)))))))))))) 

(DEFUN |NewSparseUnivariatePolynomial| (#1=#:G886)
  (PROG ()
    (RETURN
     (PROG (#2=#:G887)
       (RETURN
        (COND
         ((LETT #2#
                (|lassocShiftWithFunction| (LIST (|devaluate| #1#))
                                           (HGET |$ConstructorCache|
                                                 '|NewSparseUnivariatePolynomial|)
                                           '|domainEqualList|)
                . #3=(|NewSparseUnivariatePolynomial|))
          (|CDRwithIncrement| #2#))
         ('T
          (UNWIND-PROTECT
              (PROG1 (|NewSparseUnivariatePolynomial;| #1#) (LETT #2# T . #3#))
            (COND
             ((NOT #2#)
              (HREM |$ConstructorCache|
                    '|NewSparseUnivariatePolynomial|))))))))))) 

(DEFUN |NewSparseUnivariatePolynomial;| (|#1|)
  (PROG (|pv$| #1=#:G885 $ |dv$| DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #2=(|NewSparseUnivariatePolynomial|))
      (LETT |dv$| (LIST '|NewSparseUnivariatePolynomial| DV$1) . #2#)
      (LETT $ (GETREFV 122) . #2#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3
                (LETT |pv$|
                      (|buildPredVector| 0 0
                                         (LIST
                                          (|HasCategory| |#1|
                                                         '(|PolynomialFactorizationExplicit|))
                                          (|HasCategory| |#1|
                                                         '(|CommutativeRing|))
                                          (|HasCategory| |#1|
                                                         '(|IntegralDomain|))
                                          (OR
                                           (|HasCategory| |#1|
                                                          '(|CommutativeRing|))
                                           (|HasCategory| |#1|
                                                          '(|IntegralDomain|)))
                                          (|HasCategory| |#1|
                                                         '(|canonicalUnitNormal|))
                                          (AND
                                           (|HasCategory|
                                            (|SingletonAsOrderedSet|)
                                            '(|PatternMatchable| (|Float|)))
                                           (|HasCategory| |#1|
                                                          '(|PatternMatchable|
                                                            (|Float|))))
                                          (AND
                                           (|HasCategory|
                                            (|SingletonAsOrderedSet|)
                                            '(|PatternMatchable| (|Integer|)))
                                           (|HasCategory| |#1|
                                                          '(|PatternMatchable|
                                                            (|Integer|))))
                                          (AND
                                           (|HasCategory|
                                            (|SingletonAsOrderedSet|)
                                            '(|ConvertibleTo|
                                              (|Pattern| (|Float|))))
                                           (|HasCategory| |#1|
                                                          '(|ConvertibleTo|
                                                            (|Pattern|
                                                             (|Float|)))))
                                          (AND
                                           (|HasCategory|
                                            (|SingletonAsOrderedSet|)
                                            '(|ConvertibleTo|
                                              (|Pattern| (|Integer|))))
                                           (|HasCategory| |#1|
                                                          '(|ConvertibleTo|
                                                            (|Pattern|
                                                             (|Integer|)))))
                                          (AND
                                           (|HasCategory|
                                            (|SingletonAsOrderedSet|)
                                            '(|ConvertibleTo| (|InputForm|)))
                                           (|HasCategory| |#1|
                                                          '(|ConvertibleTo|
                                                            (|InputForm|))))
                                          (|HasCategory| |#1| '(|Comparable|))
                                          (|HasCategory| |#1|
                                                         '(|LinearlyExplicitRingOver|
                                                           (|Integer|)))
                                          (|HasCategory| |#1|
                                                         '(|Algebra|
                                                           (|Fraction|
                                                            (|Integer|))))
                                          (|HasCategory| |#1|
                                                         '(|CharacteristicNonZero|))
                                          (|HasCategory| |#1|
                                                         '(|CharacteristicZero|))
                                          (|HasCategory| |#1|
                                                         '(|RetractableTo|
                                                           (|Integer|)))
                                          (|HasCategory| |#1|
                                                         '(|RetractableTo|
                                                           (|Fraction|
                                                            (|Integer|))))
                                          (|HasCategory| |#1| '(|Field|))
                                          (|HasCategory| |#1| '(|StepThrough|))
                                          (|HasCategory| |#1|
                                                         '(|PartialDifferentialRing|
                                                           (|Symbol|)))
                                          (OR
                                           (|HasCategory| |#1|
                                                          '(|RetractableTo|
                                                            (|Fraction|
                                                             (|Integer|))))
                                           (|HasCategory| |#1|
                                                          '(|Algebra|
                                                            (|Fraction|
                                                             (|Integer|)))))
                                          (|HasCategory| |#1|
                                                         '(|DifferentialRing|))
                                          (LETT #1#
                                                (|HasCategory| |#1|
                                                               '(|GcdDomain|))
                                                . #2#)
                                          (OR
                                           (|HasCategory| |#1|
                                                          '(|CommutativeRing|))
                                           (|HasCategory| |#1| '(|Field|)) #1#
                                           (|HasCategory| |#1|
                                                          '(|IntegralDomain|))
                                           (|HasCategory| |#1|
                                                          '(|PolynomialFactorizationExplicit|)))
                                          (OR (|HasCategory| |#1| '(|Field|))
                                              #1#
                                              (|HasCategory| |#1|
                                                             '(|IntegralDomain|))
                                              (|HasCategory| |#1|
                                                             '(|PolynomialFactorizationExplicit|)))
                                          (OR (|HasCategory| |#1| '(|Field|))
                                              #1#
                                              (|HasCategory| |#1|
                                                             '(|PolynomialFactorizationExplicit|)))))
                      . #2#))
      (|haddProp| |$ConstructorCache| '|NewSparseUnivariatePolynomial|
                  (LIST DV$1) (CONS 1 $))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (AND (|HasCategory| $ '(|CharacteristicNonZero|))
           (|HasCategory| |#1| '(|PolynomialFactorizationExplicit|))
           (|augmentPredVector| $ 67108864))
      (AND
       (OR
        (AND (|HasCategory| $ '(|CharacteristicNonZero|))
             (|HasCategory| |#1| '(|PolynomialFactorizationExplicit|)))
        (|HasCategory| |#1| '(|CharacteristicNonZero|)))
       (|augmentPredVector| $ 134217728))
      (COND
       ((|testBitVector| |pv$| 3)
        (PROGN
         (QSETREFV $ 35
                   (CONS (|dispatchFunction| |NSUP;subResultantGcd;3$;11|) $))
         (QSETREFV $ 39
                   (CONS (|dispatchFunction| |NSUP;subResultantsChain;2$L;12|)
                         $))
         (QSETREFV $ 41
                   (CONS (|dispatchFunction| |NSUP;lastSubResultant;3$;13|) $))
         (QSETREFV $ 43 (CONS (|dispatchFunction| |NSUP;resultant;2$R;14|) $))
         (QSETREFV $ 47
                   (CONS (|dispatchFunction| |NSUP;extendedResultant;2$R;15|)
                         $))
         (QSETREFV $ 51
                   (CONS
                    (|dispatchFunction| |NSUP;halfExtendedResultant1;2$R;16|)
                    $))
         (QSETREFV $ 55
                   (CONS
                    (|dispatchFunction| |NSUP;halfExtendedResultant2;2$R;17|)
                    $))
         (QSETREFV $ 59
                   (CONS
                    (|dispatchFunction| |NSUP;extendedSubResultantGcd;2$R;18|)
                    $))
         (QSETREFV $ 63
                   (CONS
                    (|dispatchFunction|
                     |NSUP;halfExtendedSubResultantGcd1;2$R;19|)
                    $))
         (QSETREFV $ 67
                   (CONS
                    (|dispatchFunction|
                     |NSUP;halfExtendedSubResultantGcd2;2$R;20|)
                    $))
         (QSETREFV $ 70
                   (CONS (|dispatchFunction| |NSUP;pseudoDivide;2$R;21|) $))
         (QSETREFV $ 71
                   (CONS (|dispatchFunction| |NSUP;pseudoQuotient;3$;22|)
                         $)))))
      $)))) 

(MAKEPROP '|NewSparseUnivariatePolynomial| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL (|SparseUnivariatePolynomial| 6)
              (|local| |#1|) |NSUP;coerce;$Sup;3| |NSUP;coerce;Sup$;4|
              (|Union| 5 '"failed") |NSUP;retractIfCan;$U;5| (|Boolean|)
              (0 . |zero?|) (5 . |ground?|) (10 . |One|) (14 . =)
              (|Union| $ '"failed") (|NonNegativeInteger|)
              (20 . |subtractIfCan|) (26 . |fmecg|) |NSUP;monicModulo;3$;6|
              (34 . |Zero|) (38 . |Zero|) (42 . *) (48 . |One|)
              (|Record| (|:| |polnum| $) (|:| |polden| 6) (|:| |power| 17))
              |NSUP;lazyResidueClass;2$R;7| (52 . -) (57 . -)
              |NSUP;lazyPseudoRemainder;3$;8|
              (|Record| (|:| |coef| 6) (|:| |gap| 17) (|:| |quotient| $)
                        (|:| |remainder| $))
              |NSUP;lazyPseudoDivide;2$R;9| |NSUP;lazyPseudoQuotient;3$;10|
              (|PseudoRemainderSequence| 6 $$) (62 . |subResultantGcd|)
              (68 . |subResultantGcd|) (|List| $$) (74 . |chainSubResultants|)
              (|List| $) (80 . |subResultantsChain|) (86 . |lastSubResultant|)
              (92 . |lastSubResultant|) (98 . |resultant|) (104 . |resultant|)
              (|Record| (|:| |coef1| $$) (|:| |coef2| $$) (|:| |resultant| 6))
              (110 . |resultantEuclidean|)
              (|Record| (|:| |resultant| 6) (|:| |coef1| $) (|:| |coef2| $))
              (116 . |extendedResultant|)
              (|Record| (|:| |coef1| $$) (|:| |resultant| 6))
              (122 . |semiResultantEuclidean1|)
              (|Record| (|:| |resultant| 6) (|:| |coef1| $))
              (128 . |halfExtendedResultant1|)
              (|Record| (|:| |coef2| $$) (|:| |resultant| 6))
              (134 . |semiResultantEuclidean2|)
              (|Record| (|:| |resultant| 6) (|:| |coef2| $))
              (140 . |halfExtendedResultant2|)
              (|Record| (|:| |coef1| $$) (|:| |coef2| $$) (|:| |gcd| $$))
              (146 . |subResultantGcdEuclidean|)
              (|Record| (|:| |gcd| $) (|:| |coef1| $) (|:| |coef2| $))
              (152 . |extendedSubResultantGcd|)
              (|Record| (|:| |coef1| $$) (|:| |gcd| $$))
              (158 . |semiSubResultantGcdEuclidean1|)
              (|Record| (|:| |gcd| $) (|:| |coef1| $))
              (164 . |halfExtendedSubResultantGcd1|)
              (|Record| (|:| |coef2| $$) (|:| |gcd| $$))
              (170 . |semiSubResultantGcdEuclidean2|)
              (|Record| (|:| |gcd| $) (|:| |coef2| $))
              (176 . |halfExtendedSubResultantGcd2|) (182 . ^)
              (|Record| (|:| |coef| 6) (|:| |quotient| $) (|:| |remainder| $))
              (188 . |pseudoDivide|) (194 . |pseudoQuotient|) (|InputForm|)
              (|Pattern| (|Float|)) (|Pattern| 103)
              (|PatternMatchResult| (|Float|) $) (|PatternMatchResult| 103 $)
              (|Union| 94 '#1="failed") (|Matrix| $) (|Fraction| 103)
              (|SingletonAsOrderedSet|)
              (|Record| (|:| |coef| 38) (|:| |generator| $))
              (|Union| 38 '"failed")
              (|Record| (|:| |quotient| $) (|:| |remainder| $))
              (|Record| (|:| |coef1| $) (|:| |coef2| $) (|:| |generator| $))
              (|Record| (|:| |coef1| $) (|:| |coef2| $)) (|Union| 85 '"failed")
              (|Fraction| $) (|Factored| $) (|SparseUnivariatePolynomial| $)
              (|Record| (|:| |primePart| $) (|:| |commonPart| $))
              (|Record| (|:| |unit| $) (|:| |canonical| $) (|:| |associate| $))
              (|Union| 87 '"failed")
              (|Record| (|:| |mat| 95) (|:| |vec| (|Vector| 103))) (|Vector| $)
              (|Matrix| 103) (|Symbol|) (|List| 96) (|List| 17) (|Factored| 89)
              (|Union| 101 '#1#) (|List| 89) (|Union| 79 '#2="failed")
              (|Integer|) (|Union| 103 '#2#) (|Mapping| 6 6) (|Vector| 6)
              (|List| 80) (|Record| (|:| |var| 80) (|:| |exponent| 17))
              (|Union| 108 '#3="failed") (|Union| 80 '#3#) (|Matrix| 6)
              (|Record| (|:| |mat| 111) (|:| |vec| 106)) (|List| 6)
              (|Equation| $) (|List| 114) (|Union| 6 '#2#) (|Mapping| 17 17)
              (|PositiveInteger|) (|String|) (|OutputForm|) (|SingleInteger|))
           '#(~= 200 |zero?| 206 |vectorise| 211 |variables| 217 |unmakeSUP|
              222 |univariate| 227 |unitNormal| 238 |unitCanonical| 243 |unit?|
              248 |totalDegree| 253 |subtractIfCan| 264 |subResultantsChain|
              270 |subResultantGcd| 276 |squareFreePolynomial| 282
              |squareFreePart| 287 |squareFree| 292
              |solveLinearPolynomialEquation| 297 |smaller?| 303 |sizeLess?|
              309 |shiftRight| 315 |shiftLeft| 321 |separate| 327 |sample| 333
              |retractIfCan| 337 |retract| 362 |resultant| 387 |rem| 400
              |reductum| 406 |reducedSystem| 411 |recip| 433 |quo| 438
              |pseudoRemainder| 444 |pseudoQuotient| 450 |pseudoDivide| 456
              |principalIdeal| 462 |primitivePart| 467 |primitiveMonomials| 478
              |prime?| 483 |pomopo!| 488 |patternMatch| 496 |order| 510 |one?|
              516 |numberOfMonomials| 521 |nextItem| 526 |multivariate| 531
              |multiplyExponents| 543 |multiEuclidean| 549 |monomials| 555
              |monomial?| 560 |monomial| 565 |monicModulo| 585 |monicDivide|
              591 |minimumDegree| 604 |mapExponents| 621 |map| 627 |makeSUP|
              633 |mainVariable| 638 |leadingMonomial| 643 |leadingCoefficient|
              648 |lcm| 653 |lazyResidueClass| 664 |lazyPseudoRemainder| 670
              |lazyPseudoQuotient| 676 |lazyPseudoDivide| 682 |latex| 688
              |lastSubResultant| 693 |karatsubaDivide| 699 |isTimes| 705
              |isPlus| 710 |isExpt| 715 |integrate| 720 |init| 725 |hash| 729
              |halfExtendedSubResultantGcd2| 734 |halfExtendedSubResultantGcd1|
              740 |halfExtendedResultant2| 746 |halfExtendedResultant1| 752
              |ground?| 758 |ground| 763 |gcdPolynomial| 768 |gcd| 774 |fmecg|
              785 |factorSquareFreePolynomial| 793 |factorPolynomial| 798
              |factor| 803 |extendedSubResultantGcd| 808 |extendedResultant|
              814 |extendedEuclidean| 820 |exquo| 833 |expressIdealMember| 845
              |eval| 851 |euclideanSize| 905 |elt| 910 |divideExponents| 940
              |divide| 946 |discriminant| 952 |differentiate| 963 |degree| 1046
              |convert| 1063 |content| 1078 |conditionP| 1089 |composite| 1094
              |coerce| 1106 |coefficients| 1146 |coefficient| 1151 |charthRoot|
              1171 |characteristic| 1176 |binomThmExpt| 1180 |associates?| 1187
              ^ 1193 |Zero| 1205 |One| 1209 D 1213 = 1289 / 1295 - 1301 + 1312
              * 1318)
           'NIL
           (CONS
            (|makeByteWordVec2| 26
                                '(0 0 1 18 0 1 18 0 26 25 0 0 3 13 2 0 0 0 3 3
                                  12 13 14 15 2 24 20 0 0 4 13 0 0 0 0 2 13 13
                                  0 0 0 0 0 0 0 0 6 7 11 19 0 0 0 0 0 0 0 0 0 0
                                  0 0 0 0 0 2 3 5 8 9 10 16 17 18 3))
            (CONS
             '#(|UnivariatePolynomialCategory&| |PolynomialCategory&|
                |PolynomialFactorizationExplicit&| |EuclideanDomain&|
                |FiniteAbelianMonoidRing&| |UniqueFactorizationDomain&| NIL
                |AbelianMonoidRing&| |GcdDomain&| |IntegralDomain&|
                |DifferentialExtension&| |FullyLinearlyExplicitRingOver&|
                |Algebra&| |Algebra&| |Algebra&| |PartialDifferentialRing&|
                |DifferentialRing&| NIL |Module&| NIL NIL |Module&| NIL NIL
                |Module&| NIL |PartialDifferentialRing&| NIL |Ring&| NIL NIL
                NIL NIL NIL NIL NIL NIL NIL |AbelianGroup&| NIL NIL
                |AbelianMonoid&| |Monoid&| NIL |SemiGroup&| |AbelianSemiGroup&|
                NIL NIL NIL NIL |Evalable&| |FullyRetractableTo&|
                |SetCategory&| |RetractableTo&| NIL NIL NIL |RetractableTo&|
                |InnerEvalable&| |InnerEvalable&| |InnerEvalable&|
                |RetractableTo&| NIL |BasicType&| NIL NIL NIL NIL NIL NIL NIL
                |RetractableTo&| |RetractableTo&| NIL NIL)
             (CONS
              '#((|UnivariatePolynomialCategory| 6)
                 (|PolynomialCategory| 6 17 80)
                 (|PolynomialFactorizationExplicit|) (|EuclideanDomain|)
                 (|FiniteAbelianMonoidRing| 6 17) (|UniqueFactorizationDomain|)
                 (|PrincipalIdealDomain|) (|AbelianMonoidRing| 6 17)
                 (|GcdDomain|) (|IntegralDomain|) (|DifferentialExtension| 6)
                 (|FullyLinearlyExplicitRingOver| 6) (|Algebra| $$)
                 (|Algebra| 79) (|Algebra| 6) (|PartialDifferentialRing| 80)
                 (|DifferentialRing|) (|LinearlyExplicitRingOver| 6)
                 (|Module| $$) (|EntireRing|) (|LinearlyExplicitRingOver| 103)
                 (|Module| 79) (|CharacteristicNonZero|) (|CharacteristicZero|)
                 (|Module| 6) (|CommutativeRing|)
                 (|PartialDifferentialRing| 96) (|BiModule| 6 6) (|Ring|)
                 (|BiModule| $$ $$) (|BiModule| 79 79) (|LeftModule| 6) (|Rng|)
                 (|RightModule| 6) (|LeftModule| $$) (|RightModule| $$)
                 (|LeftModule| 79) (|RightModule| 79) (|AbelianGroup|)
                 (|CancellationAbelianMonoid|) (|SemiRing|) (|AbelianMonoid|)
                 (|Monoid|) (|SemiRng|) (|SemiGroup|) (|AbelianSemiGroup|)
                 (|PatternMatchable| (|Float|)) (|PatternMatchable| 103)
                 (|Comparable|) (|StepThrough|) (|Evalable| $$)
                 (|FullyRetractableTo| 6) (|SetCategory|)
                 (|RetractableTo| (|SparseUnivariatePolynomial| 6))
                 (|CoercibleTo| (|SparseUnivariatePolynomial| 6))
                 (|Eltable| $$ $$) (|Eltable| 6 6) (|RetractableTo| 80)
                 (|InnerEvalable| 80 $$) (|InnerEvalable| 80 6)
                 (|InnerEvalable| $$ $$) (|RetractableTo| 6) (|unitsKnown|)
                 (|BasicType|) (|CoercibleTo| 120) (|CommutativeStar|)
                 (|noZeroDivisors|) (|canonicalUnitNormal|)
                 (|ConvertibleTo| 73) (|ConvertibleTo| 74) (|ConvertibleTo| 72)
                 (|RetractableTo| 103) (|RetractableTo| 79)
                 (|additiveValuation|)
                 (|Eltable| (|Fraction| $$) (|Fraction| $$)))
              (|makeByteWordVec2| 121
                                  '(1 0 11 0 12 1 0 11 0 13 0 6 0 14 2 6 11 0 0
                                    15 2 17 16 0 0 18 4 0 0 0 17 6 0 19 0 0 0
                                    21 0 6 0 22 2 0 0 6 0 23 0 0 0 24 1 6 0 0
                                    27 1 0 0 0 28 2 33 2 2 2 34 2 0 0 0 0 35 2
                                    33 36 2 2 37 2 0 38 0 0 39 2 33 2 2 2 40 2
                                    0 0 0 0 41 2 33 6 2 2 42 2 0 6 0 0 43 2 33
                                    44 2 2 45 2 0 46 0 0 47 2 33 48 2 2 49 2 0
                                    50 0 0 51 2 33 52 2 2 53 2 0 54 0 0 55 2 33
                                    56 2 2 57 2 0 58 0 0 59 2 33 60 2 2 61 2 0
                                    62 0 0 63 2 33 64 2 2 65 2 0 66 0 0 67 2 6
                                    0 0 17 68 2 0 69 0 0 70 2 0 0 0 0 71 2 0 11
                                    0 0 1 1 0 11 0 12 2 0 106 0 17 1 1 0 107 0
                                    1 1 0 0 5 1 1 0 5 0 1 2 0 89 0 80 1 1 3 91
                                    0 1 1 3 0 0 1 1 3 11 0 1 2 0 17 0 107 1 1 0
                                    17 0 1 2 0 16 0 0 1 2 3 38 0 0 39 2 3 0 0 0
                                    35 1 1 99 89 1 1 23 0 0 1 1 23 88 0 1 2 1
                                    100 101 89 1 2 11 11 0 0 1 2 18 11 0 0 1 2
                                    0 0 0 17 1 2 0 0 0 17 1 2 23 90 0 0 1 0 0 0
                                    1 1 17 102 0 1 1 16 104 0 1 1 0 9 0 10 1 0
                                    110 0 1 1 0 116 0 1 1 17 79 0 1 1 16 103 0
                                    1 1 0 5 0 1 1 0 80 0 1 1 0 6 0 1 2 2 6 0 0
                                    43 3 2 0 0 0 80 1 2 18 0 0 0 1 1 0 0 0 1 2
                                    12 93 78 94 1 1 12 95 78 1 1 0 111 78 1 2 0
                                    112 78 94 1 1 0 16 0 1 2 18 0 0 0 1 2 0 0 0
                                    0 1 2 3 0 0 0 71 2 3 69 0 0 70 1 18 81 38 1
                                    2 23 0 0 80 1 1 23 0 0 1 1 0 38 0 1 1 1 11
                                    0 1 4 0 0 0 6 17 0 1 3 6 75 0 73 75 1 3 7
                                    76 0 74 76 1 2 3 17 0 0 1 1 0 11 0 1 1 0 17
                                    0 1 1 19 16 0 1 2 0 0 5 80 1 2 0 0 89 80 1
                                    2 0 0 0 17 1 2 18 82 38 0 1 1 0 38 0 1 1 0
                                    11 0 1 3 0 0 0 107 98 1 3 0 0 0 80 17 1 2 0
                                    0 6 17 1 2 0 0 0 0 20 2 0 83 0 0 1 3 0 83 0
                                    0 80 1 2 0 98 0 107 1 2 0 17 0 80 1 1 0 17
                                    0 1 2 0 0 117 0 1 2 0 0 105 0 1 1 0 5 0 1 1
                                    0 110 0 1 1 0 0 0 1 1 0 6 0 1 2 23 0 0 0 1
                                    1 23 0 38 1 2 0 25 0 0 26 2 0 0 0 0 29 2 0
                                    0 0 0 32 2 0 30 0 0 31 1 0 119 0 1 2 3 0 0
                                    0 41 2 0 83 0 17 1 1 0 82 0 1 1 0 82 0 1 1
                                    0 109 0 1 1 13 0 0 1 0 19 0 1 1 0 121 0 1 2
                                    3 66 0 0 67 2 3 62 0 0 63 2 3 54 0 0 55 2 3
                                    50 0 0 51 1 0 11 0 13 1 0 6 0 1 2 23 89 89
                                    89 1 2 23 0 0 0 1 1 23 0 38 1 4 0 0 0 17 6
                                    0 19 1 1 99 89 1 1 1 99 89 1 1 1 88 0 1 2 3
                                    58 0 0 59 2 3 46 0 0 47 2 18 84 0 0 1 3 18
                                    86 0 0 0 1 2 3 16 0 0 1 2 3 16 0 6 1 2 18
                                    82 38 0 1 3 0 0 0 80 0 1 3 0 0 0 107 38 1 3
                                    0 0 0 80 6 1 3 0 0 0 107 113 1 3 0 0 0 0 0
                                    1 3 0 0 0 38 38 1 2 0 0 0 114 1 2 0 0 0 115
                                    1 1 18 17 0 1 2 18 6 87 6 1 2 3 87 0 87 1 2
                                    3 87 87 87 1 2 0 0 0 0 1 2 0 6 0 6 1 2 0 16
                                    0 17 1 2 18 83 0 0 1 1 2 6 0 1 2 2 0 0 80 1
                                    3 20 0 0 97 98 1 3 20 0 0 96 17 1 2 20 0 0
                                    96 1 2 20 0 0 97 1 3 0 0 0 105 0 1 3 0 0 0
                                    105 17 1 2 0 0 0 105 1 1 0 0 0 1 2 0 0 0 17
                                    1 3 0 0 0 107 98 1 3 0 0 0 80 17 1 2 0 0 0
                                    80 1 2 0 0 0 107 1 2 0 17 0 80 1 2 0 98 0
                                    107 1 1 0 17 0 1 1 10 72 0 1 1 8 73 0 1 1 9
                                    74 0 1 2 23 0 0 80 1 1 23 6 0 1 1 27 77 78
                                    1 2 3 16 0 0 1 2 3 92 87 0 1 1 21 0 79 1 1
                                    3 0 0 1 1 0 0 5 8 1 0 5 0 7 1 0 0 80 1 1 0
                                    0 6 1 1 0 0 103 1 1 0 120 0 1 1 0 113 0 1 3
                                    0 0 0 80 17 1 3 0 0 0 107 98 1 2 0 6 0 17 1
                                    1 28 16 0 1 0 0 17 1 3 2 0 0 0 17 1 2 3 11
                                    0 0 1 2 0 0 0 17 1 2 0 0 0 118 1 0 0 0 21 0
                                    0 0 24 3 20 0 0 96 17 1 3 20 0 0 97 98 1 2
                                    20 0 0 97 1 2 20 0 0 96 1 3 0 0 0 105 17 1
                                    2 0 0 0 105 1 1 0 0 0 1 2 0 0 0 17 1 3 0 0
                                    0 107 98 1 2 0 0 0 107 1 3 0 0 0 80 17 1 2
                                    0 0 0 80 1 2 0 11 0 0 1 2 18 0 0 6 1 2 0 0
                                    0 0 1 1 0 0 0 28 2 0 0 0 0 1 2 13 0 79 0 1
                                    2 13 0 0 79 1 2 0 0 0 6 1 2 0 0 6 0 23 2 0
                                    0 0 0 1 2 0 0 103 0 1 2 0 0 17 0 1 2 0 0
                                    118 0 1)))))
           '|lookupComplete|)) 
