$ od -c -N 50000 [eris]<Lisp>SOURCES>LISP0MC.DM!1
0000000  377  \0  \0   A   r   i   t   h   .   0   m   c  \0 373 231 302
0000020  214 350  \0  \0 376 001  \0 255 026   :   T   I   T   L   E   [
0000040    A   r   i   t   h   .   0   m   c   .   .   .   S   e   p   t
0000060    e   m   b   e   r       1   3   ,       1   9   8   2        
0000100    3   :   3   7       P   M   ,       v   a   n       M   e   l
0000120    l   e   ]   ;  \r  \r   *       L   L   S   H   1   ,       o
0000140    p       3   4   0   :  \r   *       R   e   p   l   a   c   e
0000160        T   O   S       w   i   t   h       i   t       s   h   i
0000200    f   t   e   d       l   e   f   t       o   n   e   ,       a
0000220    b   o   r   t   s       t   o       U   F   N       o   n    
0000240    o   v   e   r   l   o   w  \r  \r   @   L   L   S   H   1   :
0000260   \r  \t   c   a   l   l   [   C   h   e   c   k   S   m   a   l
0000300    l   p   ]   ,       l   s   p   U   F   N       _       3   4
0000320    0   c   ,       o   p   c   o   d   e   [   3   4   0   ]   ;
0000340   \t  \t   *       U   f   n       i   n   d   e   x  \r  \t   T
0000360        _       l   s   h   [   S   t   a   c   k   ,       1   ]
0000400    ,       d   b   l   g   o   t   o   [   l   s   h   F   a   i
0000420    l   s   ,       l   s   h   G   e 376 001  \0 256   `   t   s
0000440    T   ,       R   <   0   ]   ;  \r   l   s   h   G   e   t   s
0000460    T   :  \r  \t   S   t   a   c   k       _       T   ,       g
0000500    o   t   o   [   n   x   i   L   B   L   ]   ;  \r   l   s   h
0000520    F   a   i   l   s   :  \r  \t   g   o   t   o   [   u   f   n
0000540    L   B   L   ]   ;  \r  \r   *       L   L   S   H   8   ,    
0000560    o   p       3   4   1   ,       R   e   p   l   a   c   e    
0000600    T   O   S       w   i   t   h       i   t       s   h   i   f
0000620    t   e   d       l   e   f   t       8   ,       a   b   o   r
0000640    t       o   n       o   v   e   r   f   l   o   w  \r  \r   @
0000660    L   L   S   H   8   :  \r  \t   c   a   l   l   [   C   h   e
0000700    c   k   S   m   a   l   l   p   ]   ,       l   s   p   U   F
0000720    N       _       3   4   1   c   ,       o   p   c   o   d   e
0000740    [   3   4   1   ]   ;  \r  \t   l   u       _       l   h   m
0000760    a   s   k   [   S   t   a   c   k   ]   ;  \r  \t   T       _
0001000        l   s   h   [   S   t   a   c   k   ,       1   0   ]   ,
0001020        d   b   l   g   o   t   o   [   l   s   h   F   a 376 001
0001040   \0   _ 030   i   l   s   ,       l   s   h   G   e   t   s   T
0001060    ,       a   l   u   #   0   ]   ;  \r  \r  \r  \r   *       L
0001100    R   S   H   1   ,       o   p       3   4   2   ,       R   e
0001120    p   l   a   c   e       T   O   S       w   i   t   h       i
0001140    t       s   h   i   f   t   e   d       r   i   g   h   t    
0001160    o   n   e  \r  \r   @   L   R   S   H   1   :  \r  \t   c   a
0001200    l   l   [   C   h   e   c   k   S   m   a   l   l   p   ]   ,
0001220        l   s   p   U   F   N       _       3   4   2   c   ,    
0001240    o   p   c   o   d   e   [   3   4   2   ]   ;  \r  \t   S   t
0001260    a   c   k       _       r   s   h   [   S   t   a   c   k   ,
0001300        1   ]   ,       g   o   t   o   [   n   x   i   L   B   L
0001320    ]   ;  \r  \r  \r   *       L   R   S   H   8   ,       o   p
0001340        3   4   3   ,       R   e   p   l   a   c   e       T   O
0001360    S       w   i   t   h       i   t       s   h   i   f   t   e
0001400    d       r   i   g   h   t       8  \r  \r   @   L   R   S   H
0001420    8   :  \r  \t   c   a   l   l   [   C   h   e   c   k   S   m
0001440    a   l   l 376 001  \0 360 306   p   ]   ,       l   s   p   U
0001460    F   N       _       3   4   3   c   ,       o   p   c   o   d
0001500    e   [   3   4   3   ]   ;  \r  \t   S   t   a   c   k       _
0001520        r   s   h   [   S   t   a   c   k   ,       1   0   ]   ,
0001540        g   o   t   o   [   n   x   i   L   B   L   ]   ;  \r  \r
0001560   \r   *       S   m   a   l   l   p   o   s       u   n   b   o
0001600    x  \r   *       r   e   t   u   r   n   s       T   O   S    
0001620    i   n       T       a   s       i   n   t   e   g   e   r    
0001640    i   f       i   t       i   s       s   m   a   l   l   p   o
0001660    s   p   ,       p   u   n   t   s       o   t   h   e   r   w
0001700    i   s   e  \r  \r  \t   o   n   p   a   g   e   [   p   g   A
0001720    r   i   t   h   O   p   s   ]   ;  \r   C   h   e   c   k   S
0001740    m   a   l   l   p   :  \r  \t   T       _       S   t   a   c
0001760    k   &   -   1   ;  \r  \t   l   u       _       (   S   t   a
0002000    c   k   &   +   1   )       x   o   r       (   s   m   a   l
0002020    l   p   l   )   ;  \r  \t   s   k   i   p   [   a   l   u   =
0002040    0   ]   ;  \r  \t           g 376 001  \0 357   '   o   t   o
0002060    [   u   f   n   L   B   L   ]   ;  \r   l   s   p   R   e   t
0002100    P   7   :  \r  \t   r   e   t   u   r   n   ;  \r  \r  \r  \r
0002120   \f  \r   *       T   w   o       a   r   g       a   r   i   t
0002140    h   m   e   t   i   c       o   p   c   o   d   e   s   .    
0002160        T   h   e   s   e       a   l   l       g   o       t   o
0002200        U   n   b   o   x       t   o       u   n   b   o   x    
0002220    T   O   S   -   1       a   n   d       T   O   S  \r   *    
0002240    i   n   t   o       I   n   t   1   H   i   /   L   o       a
0002260    n   d       I   n   t   2   H   i   /   L   o   ,       t   h
0002300    e   n       c   o   m   e       b   a   c   k       h   e   r
0002320    e       b   y       d   i   s   p   a   t   c   h   i   n   g
0002340        t   h   r   u       l   s   p   U   F   N  \r   *       F
0002360    o   r       c   o   m   p   a   c   t   n   e   s   s   ,    
0002400    U   F   N       e   n   c   o   d   e   s       t   w   o    
0002420    4       b   i   t       f   i   e   l   d   s   :  \r   *    
0002440    <   l   o   w       4       b   i   t   s       o 376 001  \0
0002460  025 354   f       o   p   c   o   d   e   >   ,   ,   <   f   u
0002500    n   c   t   i   o   n   >  \r   *       w   h   e   r   e    
0002520    <   f   u   n   c   t   i   o   n   >       p   r   o   v   i
0002540    d   e   s       a       (   u   p       t   o   )       1   6
0002560    -   w   a   y       d   i   s   p   a   t   c   h       o   n
0002600        l   o   g   i   c   a   l       f   u   n   c   t   i   o
0002620    n   ,  \r   *       a   n   d       t   h   e       l   o   w
0002640        2       b   i   t   s       a   r   e       a       4   -
0002660    w   a   y       d   i   s   p   a   t   c   h       o   n    
0002700    t   h   e       p   o   s   s   i   b   l   e       h   i    
0002720    4       b   i   t   s       o   f       o   p   c   o   d   e
0002740   \r   *       (   3   2   0   ,       3   4   0   ,       3   6
0002760    0   ,       w   i   t   h       3   2   0       t   w   i   c
0003000    e   )   .  \r  \r   M   @   [   A   r   i   t   h   O   p   ,
0003020        O   r   [   L   S   h   i   f   t   [   A   n   d   [   #
0003040    1   ,   1   7   ]   ,   4   ]   ,       #   2   ]   ]   ;  \t
0003060    *     376 001  \0 313   x   A   r   i   t   h   O   p   [   o
0003100    p   c   o   d   e   ,       f   n   ]  \r   R   V   2   [   I
0003120    n   t   1   H   i   ,       I   n   t   1   L   o   ,       I
0003140    P   [   A   C   0   ]   ]   ;  \r   R   V   2   [   I   n   t
0003160    2   H   i   ,       I   n   t   2   L   o   ,       I   P   [
0003200    l   s   p   L   2   ]   ]   ;  \r  \r  \r   *       L   o   g
0003220    i   c   a   l       o   p   s   .           N   o       o   v
0003240    e   r   f   l   o   w   .           L   o   w       2       b
0003260    i   t   s       =       1  \r  \r   @   L   o   g   o   r   2
0003300    :  \r  \t   g   o   t   o   [   U   n   b   o   x   ]   ,    
0003320    l   s   p   U   F   N       _       A   r   i   t   h   O   p
0003340    [   3   4   4   ,   1   ]   c   ,       o   p   c   o   d   e
0003360    [   3   4   4   ]   ;  \r  \t   I   n   t   1   L   o       _
0003400        (   I   n   t   1   L   o   )       o   r       T   ,    
0003420    a   t   [   A   r   i   t   h   D   i   s   p   ,       1   ]
0003440    ;  \r  \t   T       _       I   n   t   2   H   i   ;  \r  \t
0003460    I   n   t   1   H   i     376 001  \0 035 230   _       (   I
0003500    n   t   1   H   i   )       o   r       T   ,       g   o   t
0003520    o   [   I   n   t   B   o   x   E   a   s   y   ]   ;  \r  \r
0003540   \r   @   L   o   g   a   n   d   2   :  \r  \t   g   o   t   o
0003560    [   U   n   b   o   x   ]   ,       l   s   p   U   F   N    
0003600    _       A   r   i   t   h   O   p   [   3   4   5   ,   5   ]
0003620    c   ,       o   p   c   o   d   e   [   3   4   5   ]   ;  \r
0003640   \t   I   n   t   1   L   o       _       (   I   n   t   1   L
0003660    o   )       a   n   d       T   ,       a   t   [   A   r   i
0003700    t   h   D   i   s   p   ,       5   ]   ;  \r  \t   T       _
0003720        I   n   t   2   H   i   ;  \r  \t   I   n   t   1   H   i
0003740        _       (   I   n   t   1   H   i   )       a   n   d    
0003760    T   ,       g   o   t   o   [   I   n   t   B   o   x   E   a
0004000    s   y   ]   ;  \r  \r  \r   @   L   o   g   x   o   r   2   :
0004020   \r  \t   g   o   t   o   [   U   n   b   o   x   ]   ,       l
0004040    s   p   U   F   N       _       A   r   i   t   h   O   p   [
0004060    3   4   6   ,   1   1   ]   c   ,       o   p 376 001  \0 267
0004100  037   c   o   d   e   [   3   4   6   ]   ;  \r  \t   I   n   t
0004120    1   L   o       _       (   I   n   t   1   L   o   )       x
0004140    o   r       T   ,       a   t   [   A   r   i   t   h   D   i
0004160    s   p   ,       1   1   ]   ;  \r  \t   T       _       I   n
0004200    t   2   H   i   ;  \r  \t   I   n   t   1   H   i       _    
0004220    (   I   n   t   1   H   i   )       x   o   r       T   ,    
0004240    g   o   t   o   [   I   n   t   B   o   x   E   a   s   y   ]
0004260    ;  \r  \r  \r   *       I   G   R   E   A   T   E   R   P   ,
0004300        o   p       3   6   1   ;       G   R   E   A   T   E   R
0004320    P   ,       o   p       3   6   3  \r   @   I   G   T   R   P
0004340    :  \r  \t   g   o   t   o   [   U   n   b   o   x   ]   ,    
0004360    l   s   p   U   F   N       _       A   r   i   t   h   O   p
0004400    [   3   6   1   ,   6   ]   c   ,       o   p   c   o   d   e
0004420    [   3   6   1   ]   ;  \t   *       I   G   R   E   A   T   E
0004440    R   P  \r  \t   g   o   t   o   [   U   n   b   o   x   ]   ,
0004460        l   s   p   U   F   N       _       A   r   i   t   h   O
0004500    p 376 001  \0 277   ,   [   3   6   3   ,   6   ]   c   ,    
0004520    o   p   c   o   d   e   [   3   6   3   ]   ;  \t   *       G
0004540    R   E   A   T   E   R   P  \r   *  \r   *  \t   W   a   n   t
0004560        t   o       s   e   e       i   f       L   0   ,   1    
0004600    >       L   2   ,   3   .           D   o       t   h   i   s
0004620        b   y       s   u   b   t   r   a   c   t   i   n   g    
0004640    L   2   ,   3       -       L   0   ,   1  \r   *  \t   a   n
0004660    d       t   e   s   t   i   n   g       C   a   r   r   y   '
0004700    .  \r   *  \r  \t   I   n   t   2   H   i       _       (   I
0004720    n   t   2   H   i   )       x   o   r       (   1   0   0   0
0004740    0   0   c   )   ,       a   t   [   A   r   i   t   h   D   i
0004760    s   p   ,       6   ]   ;  \r  \t  \t  \t  \t  \t  \t   *    
0005000    c   o   m   p   l   e   m   e   n   t       s   i   g   n    
0005020    b   i   t   s  \r  \t   T       _       (   I   n   t   1   H
0005040    i   )       x   o   r       (   1   0   0   0   0   0   c   )
0005060    ;  \t  \t   *       s   o       c   o   m   p   a   r   e    
0005100    c   o   m   e   s     376 001  \0   }   .   o   u   t       r
0005120    i   g   h   t  \r  \t   l   u       _       (   I   n   t   2
0005140    H   i   )       -       T   ;  \t  \t  \t   *       C   o   m
0005160    p   a   r   e       h   i       h   a   l   v   e   s  \r  \t
0005200    T       _       I   n   t   1   L   o   ,       F   r   e   e
0005220    z   e   R   e   s   u   l   t   ,       s   k   i   p   [   a
0005240    l   u   =   0   ]   ;  \r  \t           S   t   a   c   k   &
0005260    -   1       _       0   c   ,       d   b   l   g   o   t   o
0005300    [   I   g   t   ,       I   l   t   ,       N   o       C   a
0005320    r   r   y   ]   ;  \r  \t   l   u       _       (   I   n   t
0005340    2   L   o   )       -       T   ;  \t  \t  \t   *       i   f
0005360        h   i       e   q   u   a   l   ,       c   o   m   p   a
0005400    r   e       l   o  \r  \t   S   t   a   c   k   &   -   1    
0005420    _       0   c   ,       d   b   l   g   o   t   o   [   I   g
0005440    t   ,       I   l   t   ,       N   o       C   a   r   r   y
0005460    ]   ;  \r   I   l   t   :  \t   S   t   a   c   k   &   +   1
0005500        _       0   c   ,       g   o   t   o 376 001  \0 353    
0005520    [   A   r   i   t   h   E   x   i   t   ]   ;  \r   I   g   t
0005540    :  \t   S   t   a   c   k   &   +   1       _       (   K   t
0005560    V   a   l   )   ,       g   o   t   o   [   A   r   i   t   h
0005600    E   x   i   t   ]   ;  \r  \f  \r   *       A   r   i   t   h
0005620    m   e   t   i   c       O   p   s   .           O   v   e   r
0005640    f   l   o   w       p   o   s   s   i   b   l   e   .        
0005660    L   o   w       2       b   i   t   s       =       0  \r  \r
0005700    @   I   P   L   U   S   2   :  \r  \t   g   o   t   o   [   U
0005720    n   b   o   x   ]   ,       l   s   p   U   F   N       _    
0005740    A   r   i   t   h   O   p   [   3   3   0   ,   0   ]   c   ,
0005760        o   p   c   o   d   e   [   3   3   0   ]   ;  \t   *    
0006000    I   P   L   U   S   2  \r  \t   g   o   t   o   [   U   n   b
0006020    o   x   ]   ,       l   s   p   U   F   N       _       A   r
0006040    i   t   h   O   p   [   3   2   4   ,   0   ]   c   ,       o
0006060    p   c   o   d   e   [   3   2   4   ]   ;  \t   *       P   L
0006100    U   S   2  \r   A   r   i   t   h   O   p   s   :  \r  \t   I
0006120  376 001  \0 231 330   n   t   1   L   o       _       (   I   n
0006140    t   1   L   o   )       +       T   ,       a   t   [   A   r
0006160    i   t   h   D   i   s   p   ,       0   ]   ;  \r  \t   T    
0006200    _       I   n   t   2   H   i   ,       F   r   e   e   z   e
0006220    R   e   s   u   l   t   ;  \r  \t   I   n   t   1   H   i    
0006240    _       (   I   n   t   1   H   i   )       +       T   ,    
0006260    U   s   e   C   o   u   t   a   s   C   i   n   ,       g   o
0006300    t   o   [   I   n   t   B   o   x   ]   ;  \r  \r  \r   @   I
0006320    D   I   F   F   E   R   E   N   C   E   :  \r  \t   g   o   t
0006340    o   [   U   n   b   o   x   ]   ,       l   s   p   U   F   N
0006360        _       A   r   i   t   h   O   p   [   3   3   1   ,   4
0006400    ]   c   ,       o   p   c   o   d   e   [   3   3   1   ]   ;
0006420   \t   *       I   D   I   F   F   E   R   E   N   C   E  \r  \t
0006440    g   o   t   o   [   U   n   b   o   x   ]   ,       l   s   p
0006460    U   F   N       _       A   r   i   t   h   O   p   [   3   2
0006500    5   ,   4   ]   c   ,       o   p   c   o   d   e   [   3   2
0006520    5   ]   ;  \t   * 376 001  \0   T 370       D   I   F   F   E
0006540    R   E   N   C   E  \r  \r  \t   I   n   t   1   L   o       _
0006560        (   I   n   t   1   L   o   )       -       T   ,       a
0006600    t   [   A   r   i   t   h   D   i   s   p   ,       4   ]   ;
0006620   \r  \t   T       _       I   n   t   2   H   i   ,       F   r
0006640    e   e   z   e   R   e   s   u   l   t   ;  \r  \t   I   n   t
0006660    1   H   i       _       (   I   n   t   1   H   i   )       -
0006700        T   ,       U   s   e   C   o   u   t   a   s   C   i   n
0006720    ,       g   o   t   o   [   I   n   t   B   o   x   ]   ;  \r
0006740   \r  \r  \r   @   B   O   X   I   P   L   U   S   :  \r  \t   g
0006760    o   t   o   [   U   n   b   o   x   ]   ,       l   s   p   U
0007000    F   N       _       A   r   i   t   h   O   p   [   3   6   6
0007020    ,   2   ]   c   ,       o   p   c   o   d   e   [   3   6   6
0007040    ]   ;  \r  \t   I   n   t   1   L   o       _       (   I   n
0007060    t   1   L   o   )       +       T   ,       a   t   [   A   r
0007100    i   t   h   D   i   s   p   ,       2   ]   ;  \r  \t   T    
0007120    _       I   n   t   2   H   i   ,     376 001  \0 343   H   F
0007140    r   e   e   z   e   R   e   s   u   l   t   ;  \r  \t   I   n
0007160    t   1   H   i       _       (   I   n   t   1   H   i   )    
0007200    +       T   ,       U   s   e   C   o   u   t   a   s   C   i
0007220    n   ,       g   o   t   o   [   S   t   u   f   f   B   o   x
0007240    ]   ;  \r  \r   @   B   O   X   I   D   I   F   F   E   R   E
0007260    N   C   E   :  \r  \t   g   o   t   o   [   U   n   b   o   x
0007300    ]   ,       l   s   p   U   F   N       _       A   r   i   t
0007320    h   O   p   [   3   6   7   ,   1   2   ]   c   ,       o   p
0007340    c   o   d   e   [   3   6   7   ]   ;  \r  \t   I   n   t   1
0007360    L   o       _       (   I   n   t   1   L   o   )       -    
0007400    T   ,       a   t   [   A   r   i   t   h   D   i   s   p   ,
0007420        1   2   ]   ;  \r  \t   T       _       I   n   t   2   H
0007440    i   ,       F   r   e   e   z   e   R   e   s   u   l   t   ;
0007460   \r  \t   I   n   t   1   H   i       _       (   I   n   t   1
0007500    H   i   )       -       T   ,       U   s   e   C   o   u   t
0007520    a   s   C   i   n   ,       g   o   t   o   [   S   t   u 376
0007540  001  \0 227 314   f   f   B   o   x   ]   ;  \r  \r   S   t   u
0007560    f   f   B   o   x   :  \t   *       C   h   e   c   k       t
0007600    h   a   t       f   i   r   s   t       a   r   g       i   s
0007620        l   a   r   g   e       (   U   n   b   o   x       s   e
0007640    t       s   i   g   n       b   i   t       i   f       s   o
0007660    )  \r  \t   l   s   p   U   F   N   ,       s   k   i   p   [
0007700    R   <   0   ]   ;  \r  \t           g   o   t   o   [   A   r
0007720    i   t   h   U   f   n   ]   ;  \r  \t   P   S   t   o   r   e
0007740    2   [   X   B   u   f   2   ,       I   n   t   1   H   i   ,
0007760        0   ]   ,       g   o   t   o   [   A   r   i   t   h   E
0010000    x   i   t   ]   ;  \r  \t  \t  \t  \t   *       a   n   y    
0010020    f   a   u   l   t       h   e   r   e       h   a   s       a
0010040    l   r   e   a   d   y       h   a   p   p   e   n   e   d  \r
0010060   \r  \r  \r   @   M   A   K   E   N   U   M   B   E   R   :  \r
0010100   \t   l   s   p   U   F   N       _       3   6   5   c   ,    
0010120    g   o   t   o   [   l   s   p   U   f   n   x   P   7   ]   ,
0010140        o   p   c 376 001  \0   m   |   o   d   e   [   3   6   5
0010160    ]   ;  \t   *       M   a   k   e   N   u   m   b   e   r  \r
0010200   \f  \r   *       I   T   I   M   E   S   2   ,       o   p    
0010220    3   3   2   ;       T   I   M   E   S   2   ,       o   p    
0010240    3   2   6  \r   *       T   h   i   s       a   s   s   u   m
0010260    e   s       t   h   a   t       t   h   e       h   i       w
0010300    o   r   d   s       a   r   e       0      \r  \r   @   I   T
0010320    I   M   E   S   2   :  \r  \t   g   o   t   o   [   U   n   b
0010340    o   x   ]   ,       l   s   p   U   F   N       _       A   r
0010360    i   t   h   O   p   [   3   3   2   ,   1   0   ]   c   ,    
0010400    o   p   c   o   d   e   [   3   3   2   ]   ;  \t   *       I
0010420    T   I   M   E   S   2  \r  \t   g   o   t   o   [   U   n   b
0010440    o   x   ]   ,       l   s   p   U   F   N       _       A   r
0010460    i   t   h   O   p   [   3   2   6   ,   1   0   ]   c   ,    
0010500    o   p   c   o   d   e   [   3   2   6   ]   ;  \t   *       T
0010520    I   M   E   S   2  \r  \r   *  \t   A   l   g   o   r   i   t
0010540    h   m       t   a   k   e   n     376 001  \0 274 276   f   r
0010560    o   m       F   i   a   l   a   '   s       a   l   t   o    
0010600    m   i   c   r   o   c   o   d   e   :  \r   *  \t   O   n    
0010620    e   a   c   h       i   t   e   r   a   t   i   o   n   ,    
0010640    s   h   i   f   t       L   0   ,   1       r   i   g   h   t
0010660        b   y       o   n   e   ,       t   e   s   t   i   n   g
0010700        t   h   e       m   u   l   t   i   p   l   i   e   r  \r
0010720    *  \t   b   i   t   s       a   s       t   h   e   y       f
0010740    a   l   l       o   u   t       t   h   e       r   i   g   h
0010760    t   .           F   o   r       e   a   c   h       1       b
0011000    i   t   ,       a   d   d       m   u   l   t   i   p   l   i
0011020    c   a   n   d  \r   *  \t   i   n   t   o       L   0   .    
0011040        S   h   i   f   t   i   n   g       L   0   ,   1       r
0011060    i   g   h   t       i   s       t   h   u   s       a   n   a
0011100    l   o   g   o   u   s       t   o       s   h   i   f   t   i
0011120    n   g       t   h   e  \r   *  \t   m   u   l   t   i   p   l
0011140    i   c   a   n   d       l   e   f   t       (   b   u 376 001
0011160   \0 336 344   t       m   u   c   h       e   a   s   i   e   r
0011200    )   .           D   o   u   b   l   e   -   l   e   n   g   t
0011220    h       r   e   s   u   l   t       i   s  \r   *      \t   l
0011240    e   f   t       i   n       L   0   ,   1       w   h   e   n
0011260        l   a   s   t       m   u   l   t   i   p   l   i   e   r
0011300        b   i   t       i   s       s   h   i   f   t   e   d    
0011320    o   u   t  \r  \r   *       L   o   o   p       t   i   m   e
0011340    :       8       t   o       9       c   y   c   l   e   s    
0011360    o   n       m   u   l   t   i   p   l   i   e   r       z   e
0011400    r   o   e   s   ,       1   3       t   o       1   5       o
0011420    n       m   u   l   t   i   p   l   i   e   r       o   n   e
0011440    s  \r  \r  \t   T       _       I   n   t   1   H   i   ,    
0011460    a   t   [   A   r   i   t   h   D   i   s   p   ,       1   0
0011500    ]   ;  \t  \t   *       c   h   e   c   k       t   h   a   t
0011520        h   i       w   o   r   d   s       a   r   e       z   e
0011540    r   o  \r  \t   l   u       _       (   I   n   t   2   H   i
0011560    )       o 376 001  \0 206   _   r       T   ;  \r  \t   T    
0011600    _       I   n   t   2   L   o   ,       g   o   t   o   [   M
0011620    u   l   P   u   n   t   a   ,       a   l   u   #   0   ]   ;
0011640   \t   *       T       _       m   u   l   t   i   p   l   i   c
0011660    a   n   d  \r  \t   l   s   p   L   4       _       1   6   c
0011700    ;  \t  \t  \t  \t   *       s   e   t       l   o   o   p    
0011720    c   o   u   n   t   e   r       [   e   v   e   n       l   o
0011740    c   ]  \r  \t   c   a   l   l   [   M   u   l   L   o   o   p
0011760    1   ]   ;  \t  \t  \t  \t   *       a   l   l   o   c   a   t
0012000    i   o   n       c   o   n   s   t   r   a   i   n   t  \r   M
0012020    u   l   L   o   o   p   :  \r  \t   l   s   p   L   4       _
0012040        (   l   s   p   L   4   )       -       1   ,       G   o
0012060    T   o   [   M   u   l   D   o   n   e   ,       R   <   0   ]
0012100    ;  \r   M   u   l   L   o   o   p   1   :  \r  \t   I   n   t
0012120    1   L   o       _       R   S   h   [   I   n   t   1   L   o
0012140    ,   1   ]   ,       S   k   i   p   [   R       O   d   d   ]
0012160    ;  \t   *       s   h   i   f 376 001  \0 212 350   t       o
0012200    u   t       a       m   u   l   t   i   p   l   i   e   r    
0012220    b   i   t  \r  \t           I   n   t   1   H   i       _    
0012240    R   S   h   [   I   n   t   1   H   i   ,   1   ]   ,       D
0012260    b   l   G   o   T   o   [   M   u   l   a   ,   M   u   l   b
0012300    ,   R       O   d   d   ]   ;  \t   *       n   o       a   d
0012320    d  \r  \t   I   n   t   1   H   i       _       (   I   n   t
0012340    1   H   i   )       +       T   ;  \t  \t  \t   *       m   p
0012360    r       b   i   t   =   1   ,       d   o       a   d   d  \r
0012400   \t   I   n   t   1   H   i       _       R   C   y   [   I   n
0012420    t   1   H   i   ,   1   ]   ,       S   k   i   p   [   C   a
0012440    r   r   y   ]   ;  \t   *       c   y   c   l   e       r   i
0012460    g   h   t   ,       s   a   v   i   n   g       l   o   w    
0012500    b   i   t  \r  \t  \t  \t  \t  \t  \t   *       a   s       s
0012520    i   g   n       b   i   t       f   o   r       o   n   e    
0012540    m   i  \r  \t           I   n   t   1   H   i       _       (
0012560    I   n   t   1   H   i   )       a   n   d       n 376 001  \0
0012600    b 036   o   t       (   1   0   0   0   0   0   C   )   ,    
0012620    D   b   l   G   o   T   o   [   M   u   l   a   ,   M   u   l
0012640    b   ,   A   L   U   <   0   ]   ;  \r  \t  \t  \t  \t  \t   *
0012660        n   o       c   a   r   r   y   ,       s   o       s   i
0012700    g   n       b   i   t       i   s       o   f   f  \r  \t   I
0012720    n   t   1   H   i       _       (   I   n   t   1   H   i   )
0012740        o   r       (   1   0   0   0   0   0   C   )   ,       D
0012760    b   l   G   o   T   o   [   M   u   l   a   ,   M   u   l   b
0013000    ,   A   L   U   <   0   ]   ;  \r  \t  \t  \t  \t  \t   *    
0013020    c   a   r   r   y   ,       o   r       i   t       i   n   t
0013040    o       s   i   g   n  \r  \r   M   u   l   a   :  \t   I   n
0013060    t   1   L   o       _       (   I   n   t   1   L   o   )    
0013100    o   r       (   1   0   0   0   0   0   C   )   ,       R   e
0013120    t   u   r   n   ;  \t   *       o   r       l   o   w   b   i
0013140    t       o   f       L   0       i   n   t   o       s   i   g
0013160    n  \r   M   u   l   b   :  \t   R   e   t   u   r   n   ;  \t
0013200   \t  \t 376 001  \0 356 035  \t  \t   *       l   o   w   b   i
0013220    t       o   f       L   0       w   a   s       0  \r  \r   M
0013240    u   l   D   o   n   e   :  \r  \t   l   u       _       I   n
0013260    t   1   H   i   ,       g   o   t   o   [   I   n   t   B   o
0013300    x   E   a   s   y   ,       R   >   =   0   ]   ;  \t   *    
0013320    B   o   x       t   h   e       r   e   s   u   l   t  \r  \t
0013340            g   o   t   o   [   A   r   i   t   h   U   f   n   ]
0013360    ;  \t  \t  \t   *       O   v   e   r   f   l   o   w  \r   M
0013400    u   l   P   u   n   t   a   :       g   o   t   o   [   A   r
0013420    i   t   h   U   f   n   ]   ;  \t  \t  \t   *       n   o   t
0013440        s   m   a   l   l   p   o   s   *   s   m   a   l   l   p
0013460    o   s  \r  \r  \r  \r   %           O   l   d       v   e   r
0013500    s   i   o   n  \r  \r  \t   l   u   _       (   I   n   t   1
0013520    H   i   )   ,       a   t   [   A   r   i   t   h   D   i   s
0013540    p   ,       5   ]   ;  \r  \t   l   u   _       (   I   n   t
0013560    2   H   i   )   ,       g   o   t   o   [   I   T   i   m   e
0013600    s   5   ,       a   l   u 376 001  \0   ^   t   #   0   ]   ;
0013620   \r      \t   g   o   t   o   [   I   T   i   m   e   s   6   ,
0013640        a   l   u   #   0   ]   ;  \t  \t   *       a   l   l   o
0013660    c   a   t   i   o   n       c   o   n   s   t   r   a   i   n
0013700    t  \r  \t   T       _       (   I   n   t   2   L   o   )   ;
0013720   \r  \t   l   s   p   L   4   _       (   0   c   )   ,       c
0013740    a   l   l   [   .   +   1   ]   ;  \r  \t   I   n   t   1   L
0013760    o       _       r   s   h   [   I   n   t   1   L   o   ,    
0014000    1   ]   ,       g   o   t   o   [   I   t   i   m   e   s   1
0014020    ,       R   O   d   d   ]   ;  \r  \t   g   o   t   o   [   I
0014040    t   i   m   e   s   D   N   ,       a   l   u   =   0   ]   ;
0014060   \r   I   T   i   m   e   s   3   :  \r  \t   T       _       I
0014100    n   t   2   L   o   _       l   s   h   [   I   n   t   2   L
0014120    o   ,       1   ]   ,       g   o   t   o   [   I   t   i   m
0014140    e   s   4   ,       R   <   0   ]   ;  \r  \t   r   e   t   u
0014160    r   n   ;  \r   I   T   i   m   e   s   1   :  \r  \t   l   s
0014200    p   L   4   _       (   l   s   p   L   4   ) 376 001  \0 377
0014220  261       +       T   ;  \r  \t   g   o   t   o   [   I   T   i
0014240    m   e   s   2   ,       c   a   r   r   y   ]   ;  \r  \t   g
0014260    o   t   o   [   I   T   i   m   e   s   3   ]   ;  \r  \r   I
0014300    T   i   m   e   s   2   :       g   o   t   o   [   A   r   i
0014320    t   h   U   f   n   ]   ;  \r   I   T   i   m   e   s   4   :
0014340        g   o   t   o   [   A   r   i   t   h   U   f   n   ]   ;
0014360   \r   I   T   i   m   e   s   5   :       g   o   t   o   [   A
0014400    r   i   t   h   U   f   n   ]   ;  \r   I   T   i   m   e   s
0014420    6   :       g   o   t   o   [   A   r   i   t   h   U   f   n
0014440    ]   ;  \r   I   T   i   m   e   s   D   N   :  \r  \t   T    
0014460    _       l   s   p   L   4   ;  \r  \t   I   n   t   1   L   o
0014500        _       T   ;  \r  \t   T       _       I   n   t   2   H
0014520    i   ;  \r  \t   I   n   t   1   H   i       _       (   I   n
0014540    t   1   H   i   )       x   o   r       T   ,       g   o   t
0014560    o   [   I   n   t   B   o   x   E   a   s   y   ]   ;  \r   %
0014600   \r  \f  \r   *       I   Q   U   O   T   I   E   N   T   ,    
0014620    I 376 001  \0   j   X   R   E   M   A   I   N   D   E   R   ,
0014640        o   p   s       3   3   3   ,       3   3   4   ;       Q
0014660    U   O   T   I   E   N   T   ,       o   p       3   2   7  \r
0014700   \r   @   I   Q   u   o   t   i   e   n   t   :  \r  \t   g   o
0014720    t   o   [   U   n   b   o   x   ]   ,       l   s   p   U   F
0014740    N       _       A   r   i   t   h   O   p   [   3   3   3   ,
0014760    1   4   ]   c   ,       o   p   c   o   d   e   [   3   3   3
0015000    ]   ;  \t   *       I   Q   u   o   t   i   e   n   t  \r   @
0015020    I   R   e   m   a   i   n   d   e   r   :  \r  \t   g   o   t
0015040    o   [   U   n   b   o   x   ]   ,       l   s   p   U   F   N
0015060        _       A   r   i   t   h   O   p   [   3   3   4   ,   1
0015100    3   ]   c   ,       o   p   c   o   d   e   [   3   3   4   ]
0015120    ;  \t   *       I   R   e   m   a   i   n   d   e   r  \r  \t
0015140    g   o   t   o   [   U   n   b   o   x   ]   ,       l   s   p
0015160    U   F   N       _       A   r   i   t   h   O   p   [   3   2
0015200    7   ,   1   4   ]   c   ,       o   p   c   o   d   e   [   3
0015220    2   7   ]   ;  \t   * 376 001  \0 276 020       Q   u   o   t
0015240    i   e   n   t  \r  \r   *       D   i   v   i   d   e       L
0015260    0   ,   ,   L   1       b   y       L   3   ,       q   u   o
0015300    t   i   e   n   t       i   n       L   1   ,       r   e   m
0015320    a   i   n   d   e   r       i   n       L   0  \r   *       P
0015340    u   n   t       i   f       d   i   v   i   d   e   n   d    
0015360    i   s       n   e   g   a   t   i   v   e   ,       d   i   v
0015400    i   s   o   r       i   s       n   o   t       s   m   a   l
0015420    l   ,       o   r       r   e   s   u   l   t       i   s    
0015440    n   o   t       s   m   a   l   l  \r   *       T   h   e    
0015460    c   o   m   p   a   c   t       i   n   n   e   r       l   o
0015500    o   p       h   e   r   e       i   s       t   a   k   e   n
0015520        f   r   o   m       F   i   a   l   a   '   s       a   l
0015540    t   o       m   i   c   r   o   c   o   d   e  \r   *  \r  \t
0015560    g   o   t   o   [   r   e   t   D   i   v   ]   ,       a   t
0015600    [   A   r   i   t   h   D   i   s   p   ,       1   3   ]   ;
0015620   \r  \r   r   e   t   D   i   v   :  \t   T 376 001  \0 365 277
0015640        _       I   n   t   2   H   i   ,       a   t   [   A   r
0015660    i   t   h   D   i   s   p   ,       1   4   ]   ;  \t  \t   *
0015700        g   e   t       h   i       d   i   v   i   s   o   r  \r
0015720   \t   l   u       _       (   l   d   f   [   I   n   t   1   H
0015740    i   ,       0   ,       1   ]   )       o   r       T   ;  \t
0015760   \t   *       a   n   d       c   h   e   c   k       s   i   g
0016000    n       o   f       d   i   v   i   d   e   n   d  \r  \t   T
0016020        _       I   n   t   2   L   o   ,       g   o   t   o   [
0016040    D   i   v   P   u   n   t   a   ,       a   l   u   #   0   ]
0016060    ;  \t   *       p   u   n   t       i   f       e   i   t   h
0016100    e   r       b   a   d  \r  \t   l   u       _       (   I   n
0016120    t   1   H   i   )       -       T   ;  \r  \t  \t  \t  \t  \t
0016140    *       c   o   m   p   a   r   e       h   i       d   i   v
0016160    i   d   e   n   d       :       d   i   v   i   s   o   r  \r
0016200   \t   l   s   p   L   4       _       1   6   c   ,       g   o
0016220    t   o   [   D   i   v   P   u   n   t   c   ,       C   a   r
0016240  376 001  \0 271 303   r   y   ]   ;  \r  \t  \t  \t  \t   *    
0016260    p   u   n   t       i   f       L   0       g   e       L   3
0016300    ,       i   .   e   .       r   e   s   u   l   t       i   s
0016320        l   a   r   g   e  \r  \t  \t  \t  \t   *       n   o   t
0016340    e       t   h   i   s       i   s       t   r   u   e       i
0016360    f       z   e   r   o       d   i   v   i   s   o   r   ,    
0016400    t   o   o  \r  \t   T       _       3   1   c   ;  \r  \t   S
0016420    A   L   U   F       _       T   ,       T       _       I   n
0016440    t   2   L   o   ;  \t  \t  \t   *       S   A   L   U   F    
0016460    _       A   +   A   +   C   y   1  \r  \t   I   n   t   2   H
0016500    i       _       (   Z   e   r   o   )       -       T   ;  \t
0016520   \t  \t   *       L   2       _       -   (   d   i   v   i   s
0016540    o   r   )  \r  \r   *       A   l   g   o   r   i   t   h   m
0016560    :       s   h   i   f   t       L   0   ,   1       l   e   f
0016600    t       o   n   e   ,       s   u   b   t   r   a   c   t   i
0016620    n   g       d   i   v   i   s   o   r       f   r   o   m    
0016640    L   0   .         376 001  \0   c 206   I   f  \r   *       s
0016660    u   b   t   r   a   c   t   i   o   n       s   u   c   c   e
0016700    e   d   s   ,       s   h   i   f   t       a       1       q
0016720    u   o   t   i   e   n   t       b   i   t       i   n       o
0016740    n       t   h   e       r   i   g   h   t       o   f       L
0016760    1   ,       e   l   s   e  \r   *       z   e   r   o   .    
0017000        T   h   e       i   n   s   t   r   u   c   t   i   o   n
0017020        a   t       D   i   v   L   o   o   p       s   h   i   f
0017040    t   s       L   0       a   n   d       s   u   b   t   r   a
0017060    c   t   s       L   3       a   t       t   h   e  \r   *    
0017100    s   a   m   e       t   i   m   e   ;       t   h   e       i
0017120    n   s   t   r   u   c   t   i   o   n       a   t       D   i
0017140    v   R   e   t       h   a   s       s   e   t       T       t
0017160    h   e       n   e   g   a   t   i   o   n       o   f       t
0017200    h   e       d   i   v   i   s   o   r  \r   *       p   l   u
0017220    s       t   h   e       s   i   g   n       b   i   t       s
0017240    h   i   f   t   e   d       o   u   t 376 001  \0 016   ~    
0017260    o   f       L   1       i   n       t   h   e       p   r   e
0017300    v   i   o   u   s       i   n   s   t   r   u   c   t   i   o
0017320    n   .           T   h   e       -   1  \r   *       a   t    
0017340    D   i   v   R   e   t       a   n   d       t   h   e       +
0017360    1       a   t       D   i   v   L   o   o   p       c   a   n
0017400    c   e   l       e   a   c   h       o   t   h   e   r   ,    
0017420    b   u   t       m   a   k   e   s       t   h   e       c   a
0017440    r   r   y  \r   *       c   o   m   e       o   u   t       r
0017460    i   g   h   t       f   o   r       d   i   v   i   s   o   r
0017500        1       o   r       1   7   7   7   7   7   .  \r  \r   *
0017520        L   o   o   p       t   i   m   e   :       9       c   y
0017540    c   l   e   s       f   o   r       q   u   o   t   i   e   n
0017560    t       1   '   s   ,       1   2       f   o   r       q   u
0017600    o   t   i   e   n   t       0   '   s  \r  \r   *       S   e
0017620    t   t   i   n   g       u   p       b   e   f   o   r   e    
0017640    t   h   e       l   o   o   p   ,       L   1       g   e 376
0017660  001  \0   r   ^   t   s       a       "   d   o   n   '   t    
0017700    c   a   r   e   "       1       b   i   t       s   h   i   f
0017720    t   e   d       i   n       o   n  \r   *       t   h   e    
0017740    r   i   g   h   t   ,       w   h   i   c   h       w   i   l
0017760    l       b   e       s   h   i   f   t   e   d       o   u   t
0020000        t   h   e       t   o   p       o   n       t   h   e    
0020020    l   a   s   t       i   t   e   r   a   t   i   o   n   .  \r
0020040   \r  \t   I   n   t   1   L   o       _       (   I   n   t   1
0020060    L   o   )       S   A   L   U   F   O   P       T   ,       C
0020100    a   l   l   [   D   i   v   R   e   t   ]   ;  \r   D   i   v
0020120    L   o   o   p   :  \t  \t   *       S   h   i   f   t       h
0020140    i       d   i   v   i   d   e   n   d       l   e   f   t   ,
0020160        s   u   b   t   r   a   c   t   i   n   g       d   i   v
0020200    i   s   o   r  \r  \t   I   n   t   1   H   i       _       (
0020220    L   S   h   [   I   n   t   1   H   i   ,   1   ]   )       +
0020240        T       +       1   ,       S   k   i   p   [   R   >   =
0020260    0   ]   ;  \r 376 001  \0 272 373  \t  \t  \t   *       S   h
0020300    i   f   t       l   o   w       d   i   v   i   d   e   n   d
0020320    ,       b   r   i   n   g   i   n   g       i   n       q   u
0020340    o   t   i   e   n   t       b   i   t       1  \r  \t        
0020360    I   n   t   1   L   o       _       (   I   n   t   1   L   o
0020400    )       S   A   L   U   F   O   P       T   ,       G   o   T
0020420    o   [   D   i   v   S   u   b   ]   ;  \r  \t  \t  \t   *    
0020440    S   h   i   f   t       l   o   w       d   i   v   i   d   e
0020460    n   d   ,       b   r   i   n   g   i   n   g       i   n    
0020500    q   u   o   t   i   e   n   t       b   i   t       =       1
0020520   \r  \t  \t  \t   *       i   f       s   u   b   t   r   a   c
0020540    t       c   a   r   r   i   e   d       (   h   i       d   i
0020560    v   i   d   e   n   d       w   a   s       g   e       d   i
0020600    v   i   s   o   r   )  \r  \t   I   n   t   1   L   o       _
0020620        (   I   n   t   1   L   o   )       S   A   L   U   F   O
0020640    P       T   ,       U   s   e   C   O   u   t   A   s   C   I
0020660    n   ,       G   o   T   o   [   D 376 001  \0   m 373   i   v
0020700    S   u   b   ,   C   a   r   r   y   ]   ;  \r  \r   *   S   u
0020720    b   t   r   a   c   t       f   a   i   l   e   d   .        
0020740    U   n   d   o       i   t   ,       l   o   v   i   n   g   l
0020760    y       p   r   e   s   e   r   v   i   n   g       t   h   e
0021000        c   a   r   r   y       b   i   t       d   o   w   n    
0021020    t   o       D   i   v   R   e   t   .  \r  \t   T       _    
0021040    I   n   t   2   L   o   ,       F   r   e   e   z   e   R   e
0021060    s   u   l   t   ;  \r  \t   I   n   t   1   H   i       _    
0021100    (   I   n   t   1   H   i   )       +       T   ,       F   r
0021120    e   e   z   e   R   e   s   u   l   t   ;  \r  \r   D   i   v
0021140    S   u   b   :  \t  \t  \t   *       d   e   c   r   e   m   e
0021160    n   t       l   o   o   p       c   o   u   n   t   e   r   ,
0021200        q   u   i   t       i   f       d   o   n   e  \r  \t   l
0021220    s   p   L   4       _       (   l   s   p   L   4   )       -
0021240        1   ,       F   r   e   e   z   e   R   e   s   u   l   t
0021260    ,       g   o   t   o   [   D   i   v   D   o   n   e 376 001
0021300   \0 302 021   ,       R   <   0   ]   ;  \r   D   i   v   R   e
0021320    t   :  \t  \t  \t   *       T       _       -   (   d   i   v
0021340    i   s   o   r   )       +       (   o   l   d       s   i   g
0021360    n       b   i   t       o   f       L   1   )       -       1
0021400   \r  \t   T       _       (   I   n   t   2   H   i   )       -
0021420        1   ,       U   s   e   C   O   u   t   A   s   C   I   n
0021440    ,       R   e   t   u   r   n   ;  \t  \t   *       r   e   t
0021460    u   r   n       t   o       D   i   v   L   o   o   p  \r  \r
0021500    D   i   v   D   o   n   e   :  \t  \t  \t  \t   *       p   u
0021520    s   h       r   e   s   u   l   t       (   a       s   m   a
0021540    l   l   p   )       o   n       s   t   a   c   k  \r  \t   l
0021560    s   p   U   F   N   ,       s   k   i   p   [   R       O   d
0021600    d   ]   ;  \t  \t   *       w   h   i   c   h       c   a   s
0021620    e       w   a   s       i   t   ?  \r  \t           T       _
0021640        I   n   t   1   L   o   ,       g   o   t   o   [   B   o
0021660    x   S   m   a   l   l   P   l   ]   ;  \t   *       e   v   e
0021700    n   ,     376 001  \0 371 243   g   e   t       q   u   o   t
0021720    i   e   n   t  \r  \t           T       _       I   n   t   1
0021740    H   i   ,       g   o   t   o   [   B   o   x   S   m   a   l
0021760    l   P   l   ]   ;  \t   *       o   d   d   ,       g   e   t
0022000        r   e   m   a   i   n   d   e   r  \r  \r  \r   D   i   v
0022020    P   u   n   t   a   :       g   o   t   o   [   A   r   i   t
0022040    h   U   f   n   ]   ;  \r   D   i   v   P   u   n   t   c   :
0022060        g   o   t   o   [   A   r   i   t   h   U   f   n   ]   ;
0022100   \r  \t  \r  \r  \f  \r   o   n   p   a   g   e   [   p   g   A
0022120    r   i   t   h   O   p   s   ]   ;  \r  \r   *       M   a   i
0022140    n       u   n   b   o   x   i   n   g       r   o   u   t   i
0022160    n   e   .           P   u   t       T   O   S       i   n   t
0022200    o       I   n   t   2   H   i   /   L   o   ,       T   O   S
0022220    -   1       i   n   t   o       I   n   t   1   H   i   /   L
0022240    o   .  \r   *       P   u   n   t       i   f       n   e   c
0022260    e   s   s   a   r   y   .           R   e   t   u   r   n    
0022300    t   h   r   u       A   r   i 376 001  \0   H 006   t   h   o
0022320    p   s       d   i   s   p   a   t   c   h       w   i   t   h
0022340        T       =       L   3   .  \r  \r   *       C   y   c   l
0022360    e   s       t   h   r   u       f   i   n   a   l       d   i
0022400    s   p   :       1   0       +       2       u   n   b   o   x
0022420    e   s       +       u   p   t   o       6       c   y   c   l
0022440    e   s       i   f       I   n   t   1       i   n   t   e   r
0022460    l   o   c   k   s  \r   *       f   o   r       l   a   r   g
0022500    e       I   n   t   1   H   i   /   L   o   .           U   n
0022520    b   o   x       t   i   m   e   :       1   1   /   S   m   a
0022540    l   l   p   o   s   ,       1   0   /   S   m   a   l   l   N
0022560    e   g   ,       6   0   /   l   a   r   g   e   p  \r  \r   U
0022600    n   b   o   x   :  \r  \t   l   o   a   d   p   a   g   e   [
0022620    p   g   H   S   t   a   c   k   ]   ,       c   a   l   l   [
0022640    C   h   e   c   k   E   l   t   2   P   7   ]   ;  \r  \t   T
0022660        _       S   t   a   c   k   &   -   1   ,       l   o   a
0022700    d   p   a   g   e   [   p   g   A   r   i   t   h 376 001  \0
0022720  033   Y   ]   ;  \r  \t   I   n   t   2   L   o       _       T
0022740    ;  \r   o   n   p   a   g   e   [   p   g   A   r   i   t   h
0022760    ]   ;  \r  \t   l   u       _       (   S   t   a   c   k   )
0023000        x   o   r       (   s   m   a   l   l   N   e   g   )   ;
0023020   \r  \t   l   u       _       (   S   t   a   c   k   &   -   1
0023040    )       x   o   r       (   s   m   a   l   l   p   l   )   ,
0023060        s   k   i   p   [   a   l   u   #   0   ]   ;  \r  \t    
0023100        I   n   t   2   H   i       _       (   Z   e   r   o   )
0023120        -       1   ,       g   o   t   o   [   U   n   B   o   x
0023140    T   o   p   D   o   n   e   ]   ;  \r  \t   I   n   t   2   H
0023160    i       _       0   c   ,       g   o   t   o   [   U   n   B
0023200    o   x   T   o   p   D   o   n   e   ,       a   l   u   =   0
0023220    ]   ;  \r  \t   S   t   a   c   k   &   +   2   ,       c   a
0023240    l   l   [   U   n   b   o   x   T   y   p   e   ]   ;  \r  \t
0023260    P   F   e   t   c   h   2   [   X   B   u   f   2   ,       I
0023300    n   t   2   H   i   ,       0   ]   ,       g   o   t   o   [
0023320    U   n 376 001  \0 255   v   B   o   x   T   o   p   D   o   n
0023340    e   ]   ;  \r  \r   U   n   B   o   x   T   o   p   D   o   n
0023360    e   :  \r  \t   T       _       S   t   a   c   k   &   -   1
0023400    ;  \r  \t   I   n   t   1   L   o       _       T   ;  \r  \t
0023420    l   u       _       (   S   t   a   c   k   )       x   o   r
0023440        (   s   m   a   l   l   N   e   g   )   ;  \r  \t   l   u
0023460        _       (   S   t   a   c   k   &   +   1   )       x   o
0023500    r       (   s   m   a   l   l   p   l   )   ,       s   k   i
0023520    p   [   a   l   u   #   0   ]   ;  \r  \t           I   n   t
0023540    1   H   i       _       (   Z   e   r   o   )       -       1
0023560    ,       g   o   t   o   [   U   n   B   o   x   B   o   t   D
0023600    o   n   e   ]   ;  \r  \t   I   n   t   1   H   i       _    
0023620    0   c   ,       g   o   t   o   [   U   n   B   o   x   B   o
0023640    t   D   o   n   e   ,       a   l   u   =   0   ]   ;  \r  \t
0023660    l   s   p   U   F   N       _       (   l   s   p   U   F   N
0023700    )       o   r       (   1   0   0   0   0   0   c   )   ,    
0023720    c   a   l   l   [   U   n 376 001  \0 357 264   b   o   x   T
0023740    y   p   e   ]   ;  \r  \t   P   F   e   t   c   h   2   [   X
0023760    B   u   f   2   ,       I   n   t   1   H   i   ,       0   ]
0024000    ;  \r  \t   S   t   a   c   k   &   +   2   ,       g   o   t
0024020    o   [   U   n   B   o   x   B   o   t   D   o   n   e   ]   ;
0024040   \r  \r   U   n   B   o   x   B   o   t   D   o   n   e   :  \r
0024060   \t   d   i   s   p   a   t   c   h   [   l   s   p   U   F   N
0024100    ,       1   4   ,       4   ]   ;  \r  \t   T       _       I
0024120    n   t   2   L   o   ,       d   i   s   p   [   A   r   i   t
0024140    h   O   p   s   ]   ;  \r  \r   U   n   b   o   x   T   y   p
0024160    e   :  \t  \t   *       P   o   p       T   O   S       i   n
0024200    t   o       X   B   u   f   2   ,   3       a   s       b   a
0024220    s   e   r   e   g   ,       p   u   n   t       i   f       n
0024240    o   t       f   i   x   p  \r  \t   T       _       S   t   a
0024260    c   k   &   -   1   ;  \r  \t   X   B   u   f   2       _    
0024300    T   ;  \r  \t   T       _       l   s   h   [   S   t   a   c
0024320    k   &   -   1   ,       1   0   ]   ;  \r  \t 376 001  \0   p
0024340    u   X   B   u   f   3       _       T   ;  \r  \t   T       _
0024360        r   s   h   [   X   B   u   f   2   ,       1   1   ]   ;
0024400   \r  \t   T       _       (   r   s   h   [   X   B   u   f   3
0024420    ,       1   ]   )       o   r       T   ;  \r  \t   P   F   e
0024440    t   c   h   1   [   M   D   S   T   y   p   e   B   a   s   e
0024460    B   r   ,       l   s   p   T   y   p   e   ]   ;  \r  \t   T
0024500        _       (   f   i   x   p   T   y   p   e   )   ;  \t  \t
0024520   \t   *       D   o   e   s   n   '   t       s   a   v   e    
0024540    s   p   a   c   e   ,       b   u   t       t   i   m   e  \r
0024560   \t   l   u       _       (   r   h   m   a   s   k   [   l   s
0024600    p   T   y   p   e   ]   )       x   o   r       T   ;  \r  \t
0024620    s   k   i   p   [   a   l   u   =   0   ]   ;  \r  \t        
0024640    g   o   t   o   [   A   r   i   t   h   U   f   n   ]   ;  \r
0024660   \t   r   e   t   u   r   n   ;  \r  \r  \f  \r   o   n   p   a
0024700    g   e   [   p   g   A   r   i   t   h   ]   ;  \r  \r   *    
0024720    C   o   m   e       h   e   r   e       t   o       b   o   x
0024740      376 001  \0   E   B   r   e   s   u   l   t   .           A
0024760    l   u       =       I   n   t   1   H   i       a   t       I
0025000    n   t   B   o   x   E   a   s   y   ,       B   o   x   C   h
0025020    e   c   k  \r  \r   I   n   t   B   o   x   :  \t  \t  \t  \t
0025040   \t   *       c   h   e   c   k       f   o   r       o   v   e
0025060    r   f   l   o   w       b   e   f   o   r   e       b   o   x
0025100    i   n   g  \r  \t   T       _       I   n   t   1   L   o   ,
0025120        s   k   i   p   [   n   o       o   v   f   ]   ;  \t   *
0025140        T       _       l   o       h   a   l   f       o   f    
0025160    r   e   s   u   l   t  \r  \t           g   o   t   o   [   A
0025200    r   i   t   h   U   f   n   ]   ;  \r  \t   l   u       _    
0025220    I   n   t   1   H   i   ,       g   o   t   o   [   B   o   x
0025240    C   h   e   c   k   ]   ;  \r  \r   I   n   t   B   o   x   E
0025260    a   s   y   :  \t  \t  \t  \t   *       H   e   r   e       i
0025300    f       n   o       o   v   e   r   f   l   o   w       p   o
0025320    s   s   i   b   l   e  \r  \t   T       _       I   n   t   1
0025340    L   o   ,       F   r 376 001  \0 020   l   e   e   z   e   R
0025360    e   s   u   l   t   ,       g   o   t   o   [   B   o   x   C
0025400    h   e   c   k   ]   ;  \r  \r   B   o   x   C   h   e   c   k
0025420    :  \t   *       C   h   e   c   k       f   o   r       s   m
0025440    a   l   l   p   o   s       (   I   n   t   1   H   i       =
0025460        0   )       a   n   d       s   m   a   l   l   n   e   g
0025500        (   I   n   t   1   H   i       =       -   1   )  \r  \t
0025520    l   u       _       (   I   n   t   1   H   i   )       +    
0025540    1   ,       g   o   t   o   [   B   o   x   S   m   a   l   l
0025560    p   l   ,       a   l   u   =   0   ]   ;  \r  \t   l   s   p
0025600    N   a   r   g   s       _       2   c   ,       g   o   t   o
0025620    [   B   o   x   S   m   a   l   l   n   e   g   ,       a   l
0025640    u   =   0   ]   ;  \r  \r   :   I   F   [   W   i   t   h   C
0025660    r   e   a   t   e   C   e   l   l   ]   ;  \r   B   o   x   B
0025700    i   g   :  \t   l   o   a   d   p   a   g   e   [   o   p   P
0025720    a   g   e   0   ]   ;  \t  \t   *       C   r   e   a   t   e
0025740        a       n   e   w       f   i   x   p 376 001  \0 335   ]
0025760        c   e   l   l  \r  \t   q   B   u   f       _       l   s
0026000    h   i   f   t   [   f   i   x   p   T   y   p   e   !   ,    
0026020    4   ]   c   ,       c   a   l   l   p   [   D   o   C   r   e
0026040    a   t   e   C   e   l   l   ]   ;  \r  \t   P   S   t   o   r
0026060    e   2   [   l   s   p   G   e   n   B   r   ,       I   n   t
0026100    1   H   i   ,       0   ]   ;  \t   *       C   a   n   '   t
0026120        f   a   u   l   t       n   o   w  \r  \t   l   o   a   d
0026140    p   a   g   e   [   p   g   R   p   l   P   t   r   ]   ;  \r
0026160   \t   S   t   k   S   t   a   t   e       _       r   s   h   [
0026200    S   t   k   S   t   a   t   e   ,       1   ]   ,       g   o
0026220    t   o   p   [   G   c   E   x   i   t   ]   ;  \r  \r   :   E
0026240    L   S   E   ;  \r   B   o   x   B   i   g   :  \t   *       B
0026260    o   x       b   i   g       r   e   s   u   l   t       b   y
0026300        p   u   s   h   i   n   g       h   a   l   v   e   s    
0026320    a   s       s   m   a   l   l   p   s       a   n   d       c
0026340    a   l   l   i   n   g       M   a   k   e   n   u   m   b   e
0026360  376 001  \0 253   <   r  \r  \t   S   t   a   c   k   &   -   1
0026400        _       (   s   m   a   l   l   p   l   )   ;  \r  \t   T
0026420        _       I   n   t   1   H   i   ;  \r  \t   S   t   a   c
0026440    k   &   +   1       _       T   ;  \r  \t   S   t   a   c   k
0026460    &   +   1       _       (   s   m   a   l   l   p   l   )   ;
0026500   \r  \t   T       _       I   n   t   1   L   o   ;  \r  \t   S
0026520    t   a   c   k   &   +   1       _       T   ,       l   o   a
0026540    d   p   a   g   e   [   p   g   F   r   a   m   e   ]   ;  \r
0026560   \t   l   s   p   D   e   f   x   1       _       (   M   a   k
0026600    e   N   u   m   b   e   r   )   ,       g   o   t   o   [   l
0026620    s   p   C   a   l   l   F   n   0   ]   ;  \r   :   E   N   D
0026640    I   F   ;  \r  \r  \r   B   o   x   S   m   a   l   l   P   l
0026660    :  \r  \t   S   t   a   c   k   &   -   1       _       (   s
0026700    m   a   l   l   p   l   )   ,       g   o   t   o   [   b   o
0026720    x   1   ]   ;  \r  \r   B   o   x   S   m   a   l   l   n   e
0026740    g   :  \r  \t   S   t   a   c   k   &   -   1       _       (
0026760    s   m   a   l   l 376 001  \0 001 277   N   e   g   )   ,    
0027000    g   o   t   o   [   b   o   x   1   ]   ;  \r  \r   b   o   x
0027020    1   :  \t   S   t   a   c   k   &   +   1       _       T   ;
0027040   \r  \r   A   r   i   t   h   E   x   i   t   :  \r  \t   S   t
0027060    k   S   t   a   t   e       _       r   s   h   [   S   t   k
0027100    S   t   a   t   e   ,       1   ]   ,       g   o   t   o   [
0027120    n   x   i   L   B   L   ]   ;  \r  \r  \r  \r   *       P   u
0027140    n   t       h   e   r   e   :       D   i   s   p   a   t   c
0027160    h       l   s   p   U   F   N       t   h   r   u       a    
0027200    t   a   b   l   e       o   f       u   f   n   s  \r   *    
0027220    L   o   w       2       b   i   t   s       s   e   l   e   c
0027240    t   s       t   h   e       a   p   p   r   o   p   r   i   a
0027260    t   e       h   i       4       b   i   t   s  \r  \r   A   r
0027300    i   t   h   U   f   n   :  \r  \t   d   i   s   p   a   t   c
0027320    h   [   l   s   p   U   F   N   ,       1   6   ,       2   ]
0027340    ;  \r  \t   l   s   p   U   F   N       _       l   d   f   [
0027360    l   s   p   U   F   N   ,       1   0 376 001  \0 254   c   ,
0027400        4   ]   ,       d   i   s   p   [   .   +   1   ]   ;  \r
0027420   \t   l   s   p   U   F   N       _       (   l   s   p   U   F
0027440    N   )       o   r       (   3   2   0   c   )   ,       g   o
0027460    t   o   [   u   f   n   L   B   L   ]   ,       d   i   s   p
0027500    t   a   b   l   e   [   4   ]   ;  \t   *       0   0  \r  \t
0027520    l   s   p   U   F   N       _       (   l   s   p   U   F   N
0027540    )       o   r       (   3   4   0   c   )   ,       g   o   t
0027560    o   [   u   f   n   L   B   L   ]   ;  \t  \t  \t   *       0
0027600    1  \r  \t   l   s   p   U   F   N       _       (   l   s   p
0027620    U   F   N   )       o   r       (   3   6   0   c   )   ,    
0027640    g   o   t   o   [   u   f   n   L   B   L   ]   ;  \t  \t  \t
0027660    *       1   0  \r  \t   l   s   p   U   F   N       _       (
0027700    l   s   p   U   F   N   )       o   r       (   3   2   0   c
0027720    )   ,       g   o   t   o   [   u   f   n   L   B   L   ]   ;
0027740   \t  \t  \t   *       1   1  \r  \r   %       D   i   s   p   a
0027760    t   c   h   e   s       a   r   e       s   e   t       a 376
0030000  001  \0   I 023   s       f   o   l   l   o   w   s   :  \r  \r
0030020    o   p  \t           c   o   d   e  \t   d   i   s   p  \t  \t
0030040   \t   o   p  \t           c   o   d   e  \t   d   i   s   p  \r
0030060    I   P   L   U   S   2                   3   3   0  \t   0  \t
0030100   \t  \t   L   O   G   O   R  \t           3   4   4  \t   1  \r
0030120        P   L   U   S   2                   3   2   4  \t   0  \r
0030140    I   D   I   F   F   R   N   C   E       3   3   1  \t   4  \t
0030160   \t  \t   L   O   G   A   N   D  \t           3   4   5  \t   5
0030200   \r       D   I   F   F   R   N   C   E       3   2   5  \t   4
0030220   \r   I   T   I   M   E   S                   3   3   2  \t   1
0030240    0  \t  \t  \t   L   O   G   X   O   R  \t           3   4   6
0030260   \t   1   1  \r       T   I   M   E   S                   3   2
0030300    6  \t   1   0  \r   I   Q   U   O   T   I   E   N   T       3
0030320    3   3  \t   1   4  \t  \t  \t       -   -   -  \t  \t   1   5
0030340   \r       Q   U   O   T   I   E   N   T       3   2   7  \t   1
0030360    4  \r  \r   B   O   X   I   P   L   U   S           3   6   6
0030400   \t   2  \t  \t 376  \0   ~   T 372  \t       -   -   -  \t  \t
0030420    3  \r  \r   I   G   R   E   A   T   E   R   P       3   6   1
0030440   \t   6  \t  \t  \t       -   -   -  \t  \t   7  \r       G   R
0030460    E   A   T   E   R   P       3   6   3  \t   6  \r   B   O   X
0030500    I   D   I   F   F           3   6   7  \t   1   2  \t  \t  \t
0030520    I   R   E   M   A   I   N   D   E   R       3   3   4  \t   1
0030540    3  \r  \r       -   -   -  \t  \t   1   6  \t  \t  \t       -
0030560    -   -  \t  \t   1   7  \r   %  \r  \t   :   E   N   D   [   A
0030600    r   i   t   h   ]   ;  \r 377  \0  \0   B   i   n   d   i   n
0030620    g   s   .   0   m   c  \0 373 231   .   {   ^  \0  \0 376 001
0030640   \0   ; 003   :   T   I   T   L   E   [   B   i   n   d   i   n
0030660    g   s   .   0   m   c   .   .   .   J   u   n   e       9   ,
0030700        1   9   8   2           2   :   5   1       P   M   ,    
0030720    v   a   n       M   e   l   l   e   ]   ;  \r  \r   *   *   *
0030740    *   *   *   *   *  \r   *       B   I   N   D               b
0030760    y   t   e       1       (   l   s   p   L   N   )       =    
0031000    n   ,   v               B   y   t   e   2       (   l   s   p
0031020    L   2   )       =       N  \r   *               n       =    
0031040    n   u   m   b   e   r       o   f       P   V   A   R   S    
0031060    b   o   u   n   d       t   o       N   I   L  \r   *        
0031100        v       =       n   u   m   b   e   r       o   f       P
0031120    V   A   R   S       b   o   u   n   d       t   o       v   a
0031140    l   u   e   s       p   o   p   p   e   d       o   f   f    
0031160    s   t   a   c   k  \r   *               N       =   >       l
0031200    a   s   t       P   V   A   R       i   s       s   t   o   r
0031220    e   d       i   n   t   o       s   l   o   t       N  \r  \r
0031240    l   s   p 376 001  \0 245 226   B   i   n   d   :  \r  \t   l
0031260    o   a   d   p   a   g   e   [   p   g   B   i   n   d   ]   ,
0031300        o   p   c   o   d   e   [   0   2   1   ]   ;  \r  \t   g
0031320    o   t   o   p   [   .   +   1   ]   ;  \r   o   n   p   a   g
0031340    e   [   p   g   B   i   n   d   ]   ;  \r  \t   T       _    
0031360    N   e   x   t   D   a   t   a   [   I   B   u   f   ]   ;  \r
0031400   \t   l   s   p   L   N       _       T   ;  \r  \r  \t   T    
0031420    _       N   e   x   t   D   a   t   a   [   I   B   u   f   ]
0031440    ;  \r  \t   l   s   p   L   2       _       T   ;  \r  \t  \t
0031460   \t  \t  \t   *       L   N       =       0   ,   0   ,   n   ,
0031500    v  \r  \t   T       _       (   l   d   f   [   l   s   p   L
0031520    N   ,       1   0   ,       4   ]   )       -       1   ;  \t
0031540    *       T       _       n   -   1  \r  \t   l   s   p   L   4
0031560        _       T   ;  \r  \t   T       _       (   l   d   f   [
0031600    l   s   p   L   N   ,       1   4   ,       4   ]   )       -
0031620        1   ;  \t   *       T       _       v   -   1  \r  \t   l
0031640    s   p   L   3       _       T 376 001  \0 261   J   ;  \r  \r
0031660   \t   T       _       l   s   p   L   2       _       l   s   h
0031700    [   l   s   p   L   2   ,       1   ]   ,       t   a   s   k
0031720    ;  \t   *       N   *   2  \r  \r  \t   l   s   p   L   0    
0031740    _       0   C   ;  \t  \t  \t   *       T   0   _   N   I   L
0031760   \r  \t   l   s   p   L   1       _       0   C   ,       c   a
0032000    l   l   [   .   +   1   ]   ;  \t  \t   *       T   0   _   N
0032020    I   L  \r  \r   l   s   p   B   N   i   l   :  \r  \t   l   s
0032040    p   L   4       _       (   l   s   p   L   4   )       -    
0032060    1   ,       g   o   t   o   [   l   s   p   B   N   i   l   F
0032100    i   n   ,       R   <   0   ]   ;  \r  \t   P   S   t   o   r
0032120    e   2   [   l   s   p   E   p   ,       l   s   p   L   0   ]
0032140    ;  \t  \t   *       P   u   s   h       N   I   L  \r  \t   T
0032160        _       (   F   o   r   m   -   2   [   A   l   l   O   n
0032200    e   s   ]   )       +       T   ,       r   e   t   u   r   n
0032220    ;  \t   *       T       _       T   -   2   ,       r   e   t
0032240    u   r   n       t   o       l   s   p   B   N   i 376 001  \0
0032260  006 244   l  \r  \r   l   s   p   B   N   i   l   F   i   n   :
0032300   \t  \t  \t  \t   *       O   d   d       p   l   a   c   e   m
0032320    e   n   t  \r  \r   l   s   p   B   V   a   l   :  \t  \t  \t
0032340    *   *   *       t   h   i   s       l   o   o   p       m   a
0032360    y       n   e   e   d       t   a   s   k   i   n   g  \r  \t
0032400    l   s   p   L   3       _       (   l   s   p   L   3   )    
0032420    -       1   ,       g   o   t   o   [   l   s   p   B   V   a
0032440    l   F   i   n   ,       R   <   0   ]   ;  \r  \t   P   S   t
0032460    o   r   e   2   [   l   s   p   E   p   ,       S   t   a   c
0032500    k   ]   ;  \t  \t   *       P   o   p       S   t   a   c   k
0032520        i   n   t   o       n   e   x   t       p   v   a   r  \r
0032540   \t   S   t   k   S   t   a   t   e       _       r   c   y   [
0032560    S   t   k   S   t   a   t   e   ,       1   ]   ,       g   o
0032600    t   o   [   l   s   p   B   V   a   l   1   ,       R   e   v
0032620    e   n   ]   ;  \r  \t   l   o   a   d   p   a   g   e   [   p
0032640    g   H   S   t   a   c   k   ]   ;  \r  \t   c   a   l   l   p
0032660    [   H 376 001  \0 032 220   S   t   k   U   n   d   F   l   w
0032700    ]   ;  \t  \t   *       A   s   s   u   m   e   s       T    
0032720    u   n   d   i   s   t   u   r   b   e   d   !   !   !  \r   l
0032740    s   p   B   V   a   l   1   :  \r  \t   T       _       (   F
0032760    o   r   m   -   2   [   A   l   l   O   n   e   s   ]   )    
0033000    +       T   ,       g   o   t   o   [   l   s   p   B   V   a
0033020    l   ]   ;  \t   *       T       _       T   -   2  \r  \r   l
0033040    s   p   B   V   a   l   F   i   n   :  \r  \t   T       _    
0033060    (   l   d   f   [   l   s   p   L   N   ,       1   0   ,    
0033100    4   ]   )   ;  \r  \t   T       _       (   l   d   f   [   l
0033120    s   p   L   N   ,       1   4   ,       4   ]   )       +    
0033140    T   ,       t   a   s   k   ;  \t   *       T       _       n
0033160    +   v  \r  \t   S   t   a   c   k   &   +   1       _       (
0033200    z   e   r   o   )       -       T       -       1   ;  \t  \t
0033220    *       p   u   s   h       -   (   n   +   v   )       -   1
0033240   \r  \t   T       _       l   s   p   L   2   ;  \r  \t   S   t
0033260    a   c   k   &   +   1     376 001  \0 034 345   _       T   ,
0033300        g   o   t   o   [   P   u   s   h   L   B   L   ]   ;  \t
0033320   \t   *       p   u   s   h       2   *   N  \r  \f  \r   *   *
0033340    *   *   *   *  \r   *       U   N   B   I   N   D   ,       D
0033360    U   N   B   I   N   D  \r  \r   l   s   p   D   U   n   B   i
0033400    n   d   :  \t  \t  \t  \t  \t   *       u   n   b   i   n   d
0033420    ,       d   i   s   c   a   r   d       v   a   l   u   e  \r
0033440   \t   l   o   a   d   p   a   g   e   [   p   g   B   i   n   d
0033460    ]   ,       o   p   c   o   d   e   [   0   2   3   ]   ;  \r
0033500   \t   l   s   p   L   0       _       (   u   n   b   o   u   n
0033520    d   P   v   a   r   )   ,       g   o   t   o   p   [   l   s
0033540    p   U   n   b   P   o   p   0   ]   ;  \r  \r   l   s   p   U
0033560    n   B   i   n   d   :  \t  \t  \t  \t  \t   *       u   n   b
0033600    i   n   d   ,       p   r   e   s   e   r   v   e       T   O
0033620    S  \r  \t   l   o   a   d   p   a   g   e   [   p   g   B   i
0033640    n   d   ]   ,   o   p   c   o   d   e   [   0   2   2   ]   ;
0033660   \r  \t   T       _       S   t   a   c   k   & 376 001  \0  \0
0033700  311   -   1   ;  \r   o   n   p   a   g   e   [   p   g   B   i
0033720    n   d   ]   ;  \r  \t   l   s   p   L   1       _       T   ;
0033740   \t  \t  \t  \t   *       P   o   p       T   O   S       i   n
0033760    t   o       L   0   ,   1  \r  \t   T       _       S   t   a
0034000    c   k   &   -   1   ;  \r  \t   l   s   p   L   0       _    
0034020    T   ,       g   o   t   o   [   l   s   p   U   n   b   P   o
0034040    p   ]   ;  \r  \r   l   s   p   U   n   b   P   o   p   :  \t
0034060   \t  \t  \t  \t   *       P   o   p       c   h   e   c   k  \r
0034100   \t   S   t   k   S   t   a   t   e       _       r   c   y   [
0034120    S   t   k   S   t   a   t   e   ,       1   ]   ,       g   o
0034140    t   o   [   l   s   p   U   n   b   P   o   p   0   ,       R
0034160        E   v   e   n   ]   ;  \r  \t   l   o   a   d   p   a   g
0034200    e   [   p   g   H   S   t   a   c   k   ]   ;  \r  \t   c   a
0034220    l   l   p   [   H   S   t   k   U   n   d   F   l   w   ]   ;
0034240   \r   l   s   p   U   n   b   P   o   p   0   :  \r  \t   M   N
0034260    B   R       _       S   t   a   c   k   &   -   1   ;  \t  \t
0034300   \t 376 001  \0   m 305   *       o   f   f   s   e   t       o
0034320    f       l   a   s   t       v   a   r       t   o       u   n
0034340    b   i   n   d  \r  \t   T       _       (   S   t   a   c   k
0034360    &   -   1   )       +       1   ,       g   o   t   o   [   l
0034400    s   p   U   n   b   P   o   p   ,       R   >   =   0   ]   ;
0034420   \r  \t  \t  \t   *       T       _       #   v   a   r   s    
0034440    t   o       u   n   b   i   n   d   ;       i   f       n   o
0034460    n   -   n   e   g   a   t   i   v   e   ,       t   h   i   s
0034500        w   a   s       n   o   t       a  \r  \t  \t  \t   *    
0034520    b   i   n   d   i   n   g       m   a   r   k   ,       s   o
0034540        k   e   e   p       p   o   p   p   i   n   g       u   n
0034560    t   i   l       i   t       i   s  \r  \t   l   s   p   L   2
0034600        _       T   ;  \r  \t   T       _       M   N   B   R   ;
0034620   \r  \t   l   s   p   L   N       _       (   u   n   b   o   u
0034640    n   d   P   v   a   r   )   ,       c   a   l   l   [   .   +
0034660    1   ]   ;  \r  \r   l   s   p   U   n   b   P   o   p   2   :
0034700   \r  \t   l   s   p   L 376 001  \0   v   w   2       _       (
0034720    l   s   p   L   2   )       +       1   ,       g   o   t   o
0034740    [   l   s   p   U   n   b   P   o   p   3   ,       R   >   =
0034760    0   ]   ;  \r  \t   P   S   t   o   r   e   1   [   l   s   p
0035000    E   p   ,       l   s   p   L   N   ]   ;  \r  \t   T       _
0035020        (   F   o   r   m   -   2   [   A   l   l   O   n   e   s
0035040    ]   )       +       T   ,       r   e   t   u   r   n   ;    
0035060                        *       T       _       T   -   2   ,    
0035100    r   e   t   u   r   n       t   o       l   s   p   U   n   b
0035120    P   o   p   2  \r  \r   l   s   p   U   n   b   P   o   p   3
0035140    :  \r  \t   T       _       l   s   p   L   0   ,       s   k
0035160    i   p   [   R   >   =   0   ]   ;  \r  \t           g   o   t
0035200    o   [   P   o   p   L   B   L   ]   ;  \r  \t   S   t   a   c
0035220    k   &   +   1       _       T   ;  \t  \t  \t  \t   *       P
0035240    u   s   h       L   0   ,   1       b   a   c   k       o   n
0035260   \r  \t   T       _       l   s   p   L   1   ;  \r  \t   S   t
0035300    a   c   k   &   +   1       _       T   , 376  \0   ] 261   $
0035320        g   o   t   o   [   n   x   i   L   B   L   ]   ;  \r  \t
0035340   \t   *       n   o       o   v   e   r   f   l   o   w       p
0035360    o   s   s   i   b   l   e   ,       s   i   n   c   e       w
0035400    e       p   o   p   p   e   d       a   t       l   e   a   s
0035420    t       o   n   e       t   h   i   n   g  \r  \r   :   E   N
0035440    D   [   B   i   n   d   i   n   g   s   ]   ;  \r 377  \0  \0
0035460    F   e   t   c   h   .   0   m   c  \0 373 232   L   f 212  \0
0035500   \0 376 001  \0 037 375   :   T   I   T   L   E   [   F   e   t
0035520    c   h   .   0   m   c   .   .   .   J   a   n   u   a   r   y
0035540        1   2   ,       1   9   8   3           1   0   :   5   0
0035560        A   M   ,       v   a   n       M   e   l   l   e   ]   ;
0035600   \r  \r   S   e   t   [   F   e   t   c   h   D   e   b   u   g
0035620    ,       0   ]   ;  \r   S   e   t   [   N   o   I   n   t   e
0035640    r   r   u   p   t   s   ,       0   ]   ;  \r  \r   *  \t   G
0035660    O   T   O   [   R   E   F   I   L   L   Y   ]   ,   L   O   A
0035700    D   P   A   G   E   [   0   ]   ,   a   t   [   0   0   0   1
0035720    ]   ;  \r  \r   *  \t   o   n   l   y       r   e   q   u   i
0035740    r   e   d       o   n       p   a   g   e   s       t   h   a
0035760    t       c   o   n   t   a   i   n       N   e   x   t   I   n
0036000    s   t   /   N   e   x   t   D   a   t   a   '   s  \r   R   E
0036020    F   I   L   L   Y   :  \r   *  \t   P   F   e   t   c   h   4
0036040    [   P   C   B   ,       I   B   u   f   ,       4   ]   ,    
0036060    g   o   t   o   p   [   R   e   f   i   l   l   I   B   u   f
0036100    ]   ,       a   t   [ 376 001  \0 357   5   0   3   7   7   ]
0036120        ;   *   p   a   g   e           0       a   l   t   o  \r
0036140    *  \t   P   F   e   t   c   h   4   [   P   C   B   ,       I
0036160    B   u   f   ,       4   ]   ,       g   o   t   o   p   [   R
0036200    e   f   i   l   l   I   B   u   f   ]   ,       a   t   [   0
0036220    7   7   7   ]       ;   *   p   a   g   e           1       a
0036240    l   t   o  \r   *  \t   P   F   e   t   c   h   4   [   P   C
0036260    B   ,       I   B   u   f   ,       4   ]   ,       g   o   t
0036300    o   p   [   R   e   f   i   l   l   I   B   u   f   ]   ,    
0036320    a   t   [   1   3   7   7   ]       ;   *   p   a   g   e    
0036340        2       a   l   t   o  \r   *  \t   P   F   e   t   c   h
0036360    4   [   P   C   B   ,       I   B   u   f   ,       4   ]   ,
0036400        g   o   t   o   p   [   R   e   f   i   l   l   I   B   u
0036420    f   ]   ,       a   t   [   1   7   7   7   ]       ;   *   p
0036440    a   g   e           3       a   l   t   o  \r  \r  \t   P   F
0036460    e   t   c   h   4   [   P   C   B   ,       I   B   u   f   ,
0036500        4   ]   ,       g   o   t   o   p   [ 376 001  \0 300   /
0036520    R   e   f   i   l   l   I   B   u   f   ]   ,       a   t   [
0036540    2   3   7   7   ]       ;   *   p   a   g   e           4  \r
0036560    l   s   p   N   e   x   t   I   n   s   t   P   4   :  \t   l
0036600    u       _       N   e   x   t   I   n   s   t   [   I   B   u
0036620    f   ]   ;  \r   l   n   i   x   P   4   :  \t  \t   N   I   R
0036640    E   T   ;  \r  \r  \t   P   F   e   t   c   h   4   [   P   C
0036660    B   ,       I   B   u   f   ,       4   ]   ,       g   o   t
0036700    o   p   [   R   e   f   i   l   l   I   B   u   f   ]   ,    
0036720    a   t   [   2   7   7   7   ]       ;   *   p   a   g   e    
0036740        5  \r   l   s   p   N   e   x   t   I   n   s   t   P   5
0036760    :  \t   l   u       _       N   e   x   t   I   n   s   t   [
0037000    I   B   u   f   ]   ;  \r   l   n   i   x   P   5   :  \t  \t
0037020    N   I   R   E   T   ;  \r  \r  \t   P   F   e   t   c   h   4
0037040    [   P   C   B   ,       I   B   u   f   ,       4   ]   ,    
0037060    g   o   t   o   p   [   R   e   f   i   l   l   I   B   u   f
0037100    ]   ,       a   t   [   3   3   7   7   ]       ;   *   p   a
0037120  376 001  \0 375   q   g   e           6  \r   l   s   p   N   e
0037140    x   t   I   n   s   t   P   6   :  \t   l   u       _       N
0037160    e   x   t   I   n   s   t   [   I   B   u   f   ]   ;  \r   l
0037200    n   i   x   P   6   :  \t  \t   N   I   R   E   T   ;  \r  \r
0037220   \t   P   F   e   t   c   h   4   [   P   C   B   ,       I   B
0037240    u   f   ,       4   ]   ,       g   o   t   o   p   [   R   e
0037260    f   i   l   l   I   B   u   f   ]   ,       a   t   [   3   7
0037300    7   7   ]       ;   *   p   a   g   e           7  \r   l   s
0037320    p   N   e   x   t   I   n   s   t   P   7   :  \t   l   u    
0037340    _       N   e   x   t   I   n   s   t   [   I   B   u   f   ]
0037360    ,       a   t   [   P   7   T   a   i   l   L   o   c   ]   ;
0037400   \t   *       p   l   a   c   e   d       f   o   r       o   v
0037420    e   r   l   a   y   s  \r   l   n   i   x   P   7   :  \t  \t
0037440    N   I   R   E   T   ;  \r  \r   *  \t   P   F   e   t   c   h
0037460    4   [   P   C   B   ,       I   B   u   f   ,       4   ]   ,
0037500        g   o   t   o   p   [   R   e   f   i   l   l   I   B   u
0037520    f   ]   ,       a 376 001  \0 031   [   t   [   4   3   7   7
0037540    ]       ;   *   p   a   g   e       1   0  \r  \r   *  \t   P
0037560    F   e   t   c   h   4   [   P   C   B   ,       I   B   u   f
0037600    ,       4   ]   ,       g   o   t   o   p   [   R   e   f   i
0037620    l   l   I   B   u   f   ]   ,       a   t   [   4   7   7   7
0037640    ]       ;   *   p   a   g   e       1   1  \r  \r  \t   P   F
0037660    e   t   c   h   4   [   P   C   B   ,       I   B   u   f   ,
0037700        4   ]   ,       g   o   t   o   p   [   R   e   f   i   l
0037720    l   I   B   u   f   ]   ,       a   t   [   5   3   7   7   ]
0037740        ;   *   p   a   g   e       1   2  \r   l   s   p   N   e
0037760    x   t   I   n   s   t   P   1   2   :  \t   l   u       _    
0040000    N   e   x   t   I   n   s   t   [   I   B   u   f   ]   ;  \r
0040020    l   n   i   x   P   1   2   :      \t   N   I   R   E   T   ;
0040040   \r  \r   *  \t   P   F   e   t   c   h   4   [   P   C   B   ,
0040060        I   B   u   f   ,       4   ]   ,       g   o   t   o   p
0040100    [   R   e   f   i   l   l   I   B   u   f   ]   ,       a   t
0040120    [   5   7   7   7   ]       ;   *   p 376 001  \0  \v 032   a
0040140    g   e       1   3       a   l   t   o  \r   *  \t   P   F   e
0040160    t   c   h   4   [   P   C   B   ,       I   B   u   f   ,    
0040200    4   ]   ,       g   o   t   o   p   [   R   e   f   i   l   l
0040220    I   B   u   f   ]   ,       a   t   [   6   3   7   7   ]    
0040240    ;   *   p   a   g   e       1   4       a   l   t   o  \r  \r
0040260   \t   P   F   e   t   c   h   4   [   P   C   B   ,       I   B
0040300    u   f   ,       4   ]   ,       g   o   t   o   p   [   R   e
0040320    f   i   l   l   I   B   u   f   ]   ,       a   t   [   6   7
0040340    7   7   ]       ;   *   p   a   g   e       1   5  \r   l   s
0040360    p   N   e   x   t   I   n   s   t   P   1   5   :  \t   l   u
0040400        _       N   e   x   t   I   n   s   t   [   I   B   u   f
0040420    ]   ;  \r   l   n   i   x   P   1   5   :      \t   N   I   R
0040440    E   T   ;  \r  \r  \t   P   F   e   t   c   h   4   [   P   C
0040460    B   ,       I   B   u   f   ,       4   ]   ,       g   o   t
0040500    o   p   [   R   e   f   i   l   l   I   B   u   f   ]   ,    
0040520    a   t   [   7   3   7   7   ]       ;   *   p   a   g   e 376
0040540  001  \0 307   b       1   6  \r   l   s   p   N   e   x   t   I
0040560    n   s   t   P   1   6   :  \t   l   u       _       N   e   x
0040600    t   I   n   s   t   [   I   B   u   f   ]   ;  \r   l   n   i
0040620    x   P   1   6   :      \t   N   I   R   E   T   ;  \r  \r   *
0040640   \t   P   F   e   t   c   h   4   [   P   C   B   ,       I   B
0040660    u   f   ,       4   ]   ,       g   o   t   o   p   [   R   e
0040700    f   i   l   l   I   B   u   f   ]   ,       a   t   [   7   7
0040720    7   7   ]       ;   *   p   a   g   e       1   7       -    
0040740    c   a   n   '   t  \r  \t   o   n   p   a   g   e   [   1   7
0040760    ]   ;  \r   l   s   p   N   e   x   t   I   n   s   t   P   1
0041000    7   :  \t   l   o   a   d   p   a   g   e   [   7   ]   ;  \r
0041020   \t  \t   g   o   t   o   p   [   l   s   p   N   e   x   t   I
0041040    n   s   t   P   7   ]   ;  \r  \r  \r  \t   O   n   P   a   g
0041060    e   [   0   ]   ;  \r  \r   R   e   f   i   l   l   I   B   u
0041100    f   :  \r  \t   P   C   B       _       (   P   C   B   )    
0041120    +       (   4   c   )   ,       a   t   [   3   4   0   ]   ;
0041140   \r  \t   P   C 376 001  \0   9   z   F       _       R   z   e
0041160    r   o   ,       a   t   [   3   4   1   ]   ;  \r  \t   n   o
0041200    p   ,       a   t   [   3   4   2   ]   ;  \r  \t   r   e   t
0041220    u   r   n   ,       a   t   [   3   4   3   ]   ;  \t  \t   *
0041240        W   a   i   t       f   o   r       p   a   g   e       f
0041260    a   u   l   t  \r  \r   o   n   p   a   g   e   [   p   g   J
0041300    u   m   p   ]   ;  \r  \r   *       I   f       t   h   e    
0041320    P   F   E   T   C   H   4       f   a   u   l   t   s   ,    
0041340    t   h   e       f   a   u   l   t       h   a   n   d   l   e
0041360    r       w   i   l   l       s   e   t       I   B   U   F    
0041400    t   o       -   1   s       a   n   d  \r   *       c   o   n
0041420    t   i   n   u   e       a   s       i   f       n   o   t   h
0041440    i   n   g       h   a   p   p   e   n   e   d   .           T
0041460    h   e       f   a   u   l   t       h   a   p   p   e   n   s
0041500        a   f   t   e   r       t   h   e       3   r   d  \r   *
0041520        i   n   s   t   r   u   c   t   i   o   n       p   a   s
0041540    t       t   h   e       p   f   e 376 001  \0 347  \v   t   c
0041560    h       i   s       e   x   e   c   u   t   e   d   .        
0041600    T   h   e       f   a   u   l   t       h   a   n   d   l   e
0041620    r       d   e   s   t   r   o   y   s  \r   *       t   h   e
0041640        r   e   t   u   r   n       l   i   n   k   .           T
0041660    h   e       m   i   c   r   o       i   n   s   t   r   u   c
0041700    t   i   o   n       b   e   i   n   g       e   x   e   c   u
0041720    t   e   d       m   u   s   t       b   e       o   n  \r   *
0041740        p   g   J   u   m   p       f   o   r       t   h   i   s
0041760        s   p   e   c   i   a   l       a   c   t   i   o   n    
0042000    t   o       o   c   c   u   r   .  \r  \r   R   e   t   u   r
0042020    n   O   p   :  \r  \t   r   e   t   u   r   n   ,       o   p
0042040    c   o   d   e   [   3   7   4   ]   ;  \t   *       U   s   e
0042060    d       b   y       F   a   u   l   t       f   o   r       f
0042100    i   r   s   t       m   i       N   e   x   t   D   a   t   a
0042120        c   a   s   e  \r  \r   P   F   o   p   :  \r  \t   P   F
0042140    E   T   C   H   4   [   P   C   B   ,       I   B   U 376 001
0042160   \0 037 177   F   ,       0   ]   ,       o   p   c   o   d   e
0042200    [   3   7   7   ]   ;  \t   *       T   h   i   s       w   i
0042220    l   l       p   a   g   e       f   a   u   l   t  \r  \t   I
0042240    B   U   F       _       I   B   U   F   ,       g   o   t   o
0042260    [   n   x   i   L   B   L   ]   ;  \r  \r  \f  \r   *       C
0042300    o   m   e       h   e   r   e       w   h   e   n       I   n
0042320    t   P   e   n   d   i   n   g       i   n   s   t   e   a   d
0042340        o   f       t   o       n   e   x   t       o   p   c   o
0042360    d   e  \r  \r  \t   o   n   p   a   g   e   [   o   p   P   a
0042400    g   e   0   ]   ;  \r  \r   T   a   k   e   I   n   t   e   r
0042420    r   u   p   t   :  \r  \t   T       _       (   S   S   t   k
0042440    P   &   N   S   t   k   P   )       x   o   r       (   3   7
0042460    7   c   )   ,       s   k   i   p   ;  \t   *       m   a   y
0042500    b   e       t   h   e   s   e       c   a   n       b   e    
0042520    t   h   e       s   a   m   e  \r   N   w   w   O   p   :  \t
0042540    T       _       (   S   S   t   k   P   &   N   S   t   k   P
0042560    )       x 376 001  \0 366   N   o   r       (   3   7   7   c
0042600    )   ,       o   p   c   o   d   e   [   0   0   0   ]   ;  \r
0042620   \t   l   s   p   L   1       _       I   P   [   R   S   I   m
0042640    a   g   e   ]   c   ;  \t  \t  \t   *       R   S   2   3   2
0042660        I   m   a   g   e       R   e   g   i   s   t   e   r  \r
0042700   \t   S   t   k   p       _       l   s   p   L   1   ,       l
0042720    s   p   L   1       _       T   ,       N   o   R   e   g   I
0042740    L   o   c   k   O   K   ;  \r  \t   T       _       S   t   a
0042760    c   k       _       (   S   t   a   c   k   )       a   n   d
0043000        n   o   t       (   I   n   t   P   e   n   d   i   n   g
0043020    B   i   t   )   ;  \r  \t   S   t   k   p       _       l   s
0043040    p   L   1   ,       R   S   2   3   2       _       T   ;  \r
0043060   \r   :   I   F   [   W   i   n   d   F   l   g   ]   ;  \r  \t
0043100    l   u       _       (   N   W   W   )       a   n   d       n
0043120    o   t       (   B   o   t   h   K   e   y   M   a   s   k   s
0043140    )   ,       g   o   t   o   [   N   o   I   n   t   e   r   r
0043160    u   p   t   ,       R   <   0 376 001  \0 344   @   ]   ;  \r
0043200   \t  \t  \t  \t   *       t   e   s   t       f   o   r       i
0043220    n   t   e   r   r   u   p   t   s       o   t   h   e   r    
0043240    t   h   a   n       l   i   s   p   /   b   c   p   l       k
0043260    e   y  \r  \t   N   W   W       _       (   N   W   W   )    
0043300    a   n   d       n   o   t       (   B   c   p   l   K   e   y
0043320    M   a   s   k   )   ,       g   o   t   o   [   N   W   W   P
0043340    u   n   t   ,       a   l   u   #   0   ]   ;  \r  \t  \t  \t
0043360   \t   *       y   e   s   ,       d   o       t   h   e   m    
0043400    b   y       p   u   n   t   i   n   g       t   o       b   c
0043420    p   l  \r  \t   A   C   2       _       K   b   d   F   X   P
0043440    ,       s   k   i   p   [   a   l   u   #   0   ]   ;  \t   *
0043460        S   k   i   p       i   f       n   o       i   n   t   e
0043500    r   r   u   p   t   s   :       s   h   o   u   l   d   n   '
0043520    t       h   a   p   p   e   n   ?  \r  \t           g   o   t
0043540    o   [   N   o   I   n   t   e   r   r   u   p   t   ]   ;  \t
0043560   \t  \t   *       s   p   u   r   i   o   u   s  \r 376 001  \0
0043600  340   X  \t   N   W   W       _       1   0   0   0   0   0   c
0043620    ;  \t  \t  \t   *       t   u   r   n       o   f   f       i
0043640    n   t   e   r   r   u   p   t   s       b   e   f   o   r   e
0043660        s   w   i   t   c   h   i   n   g  \r  \t   l   o   a   d
0043700    p   a   g   e   [   p   g   L   i   s   p   0   ]   ;  \r  \t
0043720    A   C   3       _       1   7   7   4   0   0   c   ,       g
0043740    o   t   o   p   [   C   h   e   c   k   F   o   r   B   a   c
0043760    k   u   p   ]   ;  \t   *       A   C   3   <   0       s   i
0044000    g   n   a   l   s       c   o   n   t   e   x   t   s   w   i
0044020    t   c   h  \r  \r   N   o   I   n   t   e   r   r   u   p   t
0044040    :  \r  \t   T       _       (   P   C   X   R   e   g   )    
0044060    -       1   ;  \t   *       n   e   e   d       t   o       b
0044100    a   c   k       u   p       t   h   e       P   C       b   e
0044120    f   o   r   e       r   e   s   u   m   i   n   g  \r  \t   l
0044140    s   p   L   1       _       T   ;  \r  \t   P   C   F       _
0044160        l   s   p   L   1   ;  \t  \t  \t   *       w   a   i   t
0044200        f 376 001  \0 215   R   o   r       P   C   F       t   o
0044220        g   e   t       w   r   i   t   t   e   n  \r  \t   g   o
0044240    t   o   [   n   x   i   L   B   L   ]   ;  \r  \r   :   E   L
0044260    S   E   ;  \t  \t  \t  \t   *       p   r   e   -   W   i   n
0044300    d   ,       a   l   w   a   y   s       d   o       N   w   w
0044320   \r  \t   L   o   a   d   P   a   g   e   [   p   g   L   i   s
0044340    p   0   ]   ;  \r  \t   g   o   t   o   p   [   l   s   p   N
0044360    W   W   I   n   t   ]   ;  \r   :   E   N   D   I   F   ;  \r
0044400   \r   %  \r   :   I   F   [   N   o   I   n   t   e   r   r   u
0044420    p   t   s   ]   ;  \r  \t   T       _       (   P   C   X   R
0044440    e   g   )   ;  \r  \t   l   s   p   L   1       _       T   ;
0044460   \r  \t   l   s   p   L   1       _       (   l   s   p   L   1
0044500    )       -       (   1   c   )   ;  \r  \t   n   o   p   ;  \r
0044520   \t   P   C   F       _       (   l   s   p   L   1   )   ;  \r
0044540   \t   n   o   p   ;  \r  \t   l   u       _       N   e   x   t
0044560    I   n   s   t   [   I   B   u   f   ]   ;  \r  \t   N   I   R
0044600    E   T   ;  \r   :   E   L 376 001  \0     214   S   E   ;  \r
0044620   \t   L   o   a   d   P   a   g   e   [   p   g   L   i   s   p
0044640    0   ]   ;  \r  \t   g   o   t   o   p   [   l   s   p   N   W
0044660    W   I   n   t   ]   ;  \r   :   E   N   D   I   F   ;  \r   %
0044700   \r  \f  \r  \r  \t   o   n   p   a   g   e   [   4   ]   ;  \r
0044720    l   s   p   R   e   t   P   4   :       r   e   t   u   r   n
0044740    ;  \r  \r  \t   o   n   p   a   g   e   [   5   ]   ;  \r   l
0044760    s   p   R   e   t   P   5   :       r   e   t   u   r   n   ;
0045000   \r  \r  \t   o   n   p   a   g   e   [   6   ]   ;  \r   l   s
0045020    p   R   e   t   P   6   :       r   e   t   u   r   n   ;  \r
0045040   \r  \t   o   n   p   a   g   e   [   1   0   ]   ;  \r   l   s
0045060    p   R   e   t   P   1   0   :       r   e   t   u   r   n   ;
0045100   \r  \r  \t   o   n   p   a   g   e   [   1   1   ]   ;  \r   l
0045120    s   p   R   e   t   P   1   1   :       r   e   t   u   r   n
0045140    ;  \r  \r  \t   o   n   p   a   g   e   [   1   5   ]   ;  \r
0045160    l   s   p   R   e   t   P   1   5   :       r   e   t   u   r
0045200    n   ;  \r  \r  \t   o   n   p   a   g   e   [ 376 001  \0 351
0045220    H   1   6   ]   ;  \r   l   s   p   R   e   t   P   1   6   :
0045240        r   e   t   u   r   n   ;  \r  \r  \t   o   n   p   a   g
0045260    e   [   1   7   ]   ;  \r   l   s   p   R   e   t   P   1   7
0045300    :       r   e   t   u   r   n   ;  \r  \r  \r  \r  \t   o   n
0045320    p   a   g   e   [   5   ]   ;  \r   l   s   p   U   f   n   x
0045340    P   5   :  \r  \t   l   o   a   d   p   a   g   e   [   p   g
0045360    U   f   n   x   ]   ;  \r  \t   g   o   t   o   p   [   l   s
0045400    p   U   f   n   x   P   4   ]   ;  \r  \r  \t   o   n   p   a
0045420    g   e   [   6   ]   ;  \r   l   s   p   U   f   n   x   P   6
0045440    :  \r  \t   l   o   a   d   p   a   g   e   [   p   g   U   f
0045460    n   x   ]   ;  \r  \t   g   o   t   o   p   [   l   s   p   U
0045500    f   n   x   P   4   ]   ;  \r  \r  \t   o   n   p   a   g   e
0045520    [   7   ]   ;  \r   l   s   p   U   f   n   x   P   7   :  \r
0045540   \t   l   o   a   d   p   a   g   e   [   p   g   U   f   n   x
0045560    ]   ;  \r  \t   g   o   t   o   p   [   l   s   p   U   f   n
0045600    x   P   4   ]   ;  \r  \r  \t   o   n   p   a   g   e   [   1
0045620    0 376 001  \0   d 322   ]   ;  \r   l   s   p   U   f   n   x
0045640    P   1   0   :  \r  \t   l   o   a   d   p   a   g   e   [   p
0045660    g   U   f   n   x   ]   ;  \r  \t   g   o   t   o   p   [   l
0045700    s   p   U   f   n   x   P   4   ]   ;  \r  \r  \t   o   n   p
0045720    a   g   e   [   1   1   ]   ;  \r   l   s   p   U   f   n   x
0045740    P   1   1   :  \r  \t   l   o   a   d   p   a   g   e   [   p
0045760    g   U   f   n   x   ]   ;  \r  \t   g   o   t   o   p   [   l
0046000    s   p   U   f   n   x   P   4   ]   ;  \r  \r  \t   o   n   p
0046020    a   g   e   [   1   2   ]   ;  \r   l   s   p   U   f   n   x
0046040    P   1   2   :  \r  \t   l   o   a   d   p   a   g   e   [   p
0046060    g   U   f   n   x   ]   ;  \r  \t   g   o   t   o   p   [   l
0046100    s   p   U   f   n   x   P   4   ]   ;  \r  \r  \t   o   n   p
0046120    a   g   e   [   1   5   ]   ;  \r   l   s   p   U   f   n   x
0046140    P   1   5   :  \r  \t   l   o   a   d   p   a   g   e   [   p
0046160    g   U   f   n   x   ]   ;  \r  \t   g   o   t   o   p   [   l
0046200    s   p   U   f   n   x   P   4   ]   ;  \r  \r  \t   o   n   p
0046220    a   g   e   [   1   6 376  \0 205   b 214   ]   ;  \r   l   s
0046240    p   U   f   n   x   P   1   6   :  \r  \t   l   o   a   d   p
0046260    a   g   e   [   p   g   U   f   n   x   ]   ;  \r  \t   g   o
0046300    t   o   p   [   l   s   p   U   f   n   x   P   4   ]   ;  \r
0046320   \r  \t   o   n   p   a   g   e   [   1   7   ]   ;  \r   l   s
0046340    p   U   f   n   x   P   1   7   :  \r  \t   l   o   a   d   p
0046360    a   g   e   [   p   g   U   f   n   x   ]   ;  \r  \t   g   o
0046400    t   o   p   [   l   s   p   U   f   n   x   P   4   ]   ;  \r
0046420   \r  \r  \t   :   E   N   D   [   F   e   t   c   h   ]   ;  \r
0046440  377  \0  \0   F   l   o   a   t   .   0   m   c  \0 373 231 302
0046460  215   P  \0  \0 376 001  \0 264   =   :   I   F   [   W   i   t
0046500    h   F   l   o   a   t   i   n   g   P   o   i   n   t   ]   ;
0046520        *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
0046540    *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
0046560    *  \r   T   I   T   L   E   [   F   l   o   a   t   .   0   m
0046600    c   ]   ;  \t   *       s   i   n   g   l   e   -   p   r   e
0046620    c   i   s   i   o   n       f   l   o   a   t   i   n   g    
0046640    p   o   i   n   t  \r  \r   S   e   t   [   P   a   c   k   I
0046660    n   L   i   n   e   ,       W   i   t   h   C   r   e   a   t
0046700    e   C   e   l   l   ]   ;  \t   *       D   o       c   r   e
0046720    a   t   e   c   e   l   l       i   n   l   i   n   e  \r  \r
0046740    *       A   d   a   p   t   e   d       f   r   o   m       M
0046760    e   s   a   F   p   .   m   c  \r   *       L   a   s   t    
0047000    e   d   i   t   e   d       S   e   p   t   e   m   b   e   r
0047020        2   9   ,       1   9   8   2           1   0   :   0   4
0047040        P   M       v   a   n       M   e   l   l   e  \r   %  \r
0047060    e   d   i   t   s       b   y     376 001  \0 215   ]   F   i
0047100    a   l   a  \r   O   r   i   g   i   n   a   l       v   e   r
0047120    s   i   o   n       b   y       J   i   m       B   o   y   c
0047140    e   .  \r  \r   F   l   o   a   t   i   n   g       p   o   i
0047160    n   t       n   u   m   b   e   r   s       a   r   e       r
0047200    e   p   r   e   s   e   n   t   e   d       i   n       t   w
0047220    o       d   i   f   f   e   r   e   n   t       f   o   r   m
0047240    a   t   s   .           A   r   g   u   m   e   n   t   s  \r
0047260    o   n       t   h   e       s   t   a   c   k       a   r   e
0047300        I   E   E   E       s   i   n   g   l   e       p   r   e
0047320    c   i   s   i   o   n       r   e   a   l   s       w   i   t
0047340    h       t   h   e       f   o   l   l   o   w   i   n   g    
0047360    f   o   r   m   a   t   :  \r  \t   b   i   t       0  \t   s
0047400    i   g   n       (   1       m   e   a   n   s       n   e   g
0047420    a   t   i   v   e   )  \r  \t   1   :   8  \t   e   x   p   o
0047440    n   e   n   t       b   i   a   s   e   d       b   y       1
0047460    2   7   d  \r  \t  \t   (   e   x   p   o   n   e   n 376 001
0047500   \0   * 210   t       o   f       1   7   7   b       w   i   t
0047520    h       a       f   r   a   c   t   i   o   n       o   f    
0047540    0       i   s       t   h   e       i   n   t   e   g   e   r
0047560        1   ;  \r  \t  \t       e   x   p   o   n   e   n   t    
0047600    o   f       0       w   i   t   h       a       f   r   a   c
0047620    t   i   o   n       o   f       0       i   s       t   r   u
0047640    e       0   ;  \r  \t  \t       e   x   p   o   n   e   n   t
0047660        o   f       0       w   i   t   h       n   o   n   -   0
0047700        f   r   a   c   t   i   o   n       i   s       d   e   n
0047720    o   r   m   a   l   i   z   e   d       [   i   .   e   .   ,
0047740        t   h   e  \r  \t  \t               f   r   a   c   t   i
0047760    o   n       d   o   e   s       n   o   t       h   a   v   e
0050000        a   n       i   m   p   l   i   c   i   t       "   1   .
0050020    "       i   n       f   r   o   n   t       o   f       i   t
0050040    ]   ;  \r  \t  \t       e   x   p   o   n   e   n   t       o
0050060    f       3   7   7   b       w   i   t   h       a       f   r
0050100    a   c   t 376 001  \0 332   G   i   o   n       o   f       0
0050120        i   s       i   n   f   i   n   i   t   y   ;  \r  \t  \t
0050140        e   x   p   o   n   e   n   t       o   f       3   7   7
0050160    b       w   i   t   h       n   o   n   -   0       f   r   a
0050200    c   t   i   o   n       i   s       N   o   t   -   A   -   N
0050220    u   m   b   e   r   )  \r  \t   9   :   3   1  \t   f   r   a
0050240    c   t   i   o   n  \r  \t  \t   (   i   m   p   l   i   c   i
0050260    t   l   y       p   r   e   c   e   d   e   d       b   y    
0050300    '   1   .   '       i   f       n   o   n   -   0       a   n
0050320    d       n   o   r   m   a   l   i   z   e   d   .   )  \r  \r
0050340    T   h   e   s   e       n   u   m   b   e   r   s       a   p
0050360    p   e   a   r       o   n       t   h   e       s   t   a   c
0050400    k       w   i   t   h       t   h   e       w   o   r   d    
0050420    h   o   l   d   i   n   g       b   i   t   s       0   -   1
0050440    5       n   e   a   r   e   r       t   o  \r   t   h   e    
0050460    t   o   p       o   f       s   t   a   c   k   .           M
0050500    o   s   t       o   p   e   r 376 001  \0   v   V   a   t   i
0050520    o   n   s       u   n   p   a   c   k       t   h   e       o
0050540    p   e   r   a   n   d   s       i   n   t   o       a       f
0050560    o   r   m   a   t       t   h   a   t       i   s  \r   e   a
0050600    s   i   e   r       t   o       w   o   r   k       w   i   t
0050620    h   .           T   h   i   s       f   o   r   m   a   t    
0050640    u   s   e   s       t   h   r   e   e       w   o   r   d   s
0050660        i   n   t   e   r   p   r   e   t   e   d       a   s    
0050700    f   o   l   l   o   w   s   :  \r  \t   E   x   p   S   i   g
0050720    n  \t   b   i   t   s       1   :   8       a   r   e       t
0050740    h   e       e   x   p   o   n   e   n   t       (   b   i   a
0050760    s   e   d       b   y       1   2   7   d   )   ,       b   i
0051000    t       1   5   d       t   h   e       s   i   g   n   .  \r
0051020   \t  \t   N   O   T   E   :       F   A   d   d   ,       F   S
0051040    u   b   ,       F   M   p   ,       F   D   i   v   ,       e
0051060    t   c   .       m   u   s   t       a   n   d       d   o    
0051100    c   o   m   p   e   n   s   a   t   e       f   o 376 001  \0
0051120    [ 233   r  \r  \t  \t   t   h   e       a   d   d   i   t   i
0051140    o   n       o   f       1       t   o       t   h   e       e
0051160    x   p   o   n   e   n   t       w   h   i   c   h       o   c
0051200    c   u   r   s       i   n       t   h   e       R   e   n   o
0051220    r   m  \r  \t  \t   s   u   b   r   o   u   t   i   n   e   .
0051240   \r  \t   F   r   a   c  \t   T   h   e       f   r   a   c   t
0051260    i   o   n   .           W   h   e   n       u   n   p   a   c
0051300    k   e   d   ,       t   h   e       l   e   a   d   i   n   g
0051320        o   n   e       a   p   p   e   a   r   s       i   n  \r
0051340   \t  \t   F   r   a   c   [   1   ]   ;       w   h   e   n    
0051360    a   b   o   u   t       t   o       b   e       p   a   c   k
0051400    e   d       a   g   a   i   n   ,       t   h   e       l   e
0051420    a   d   i   n   g       b   i   t       i   s       i   n  \r
0051440   \t  \t   F   r   a   c   [   0   ]   ,           F   r   a   c
0051460    [   3   1   d   ]       i   s       a       S   t   i   c   k
0051500    y   B   i   t       (   t   h   e       i   n   c   l   u   s
0051520    i   v 376 001  \0   8 311   e       o   r       o   f       a
0051540    l   l  \r  \t  \t   r   e   m   a   i   n   i   n   g       b
0051560    i   t   s   )   ;       F   i   x       a   n   d       R   o
0051600    u   n   d       h   a   n   d   l   e       r   o   u   n   d
0051620    i   n   g       s   l   i   g   h   t   l   y  \r  \t  \t   d
0051640    i   f   f   e   r   e   n   t   l   y   .          \r  \t   F
0051660    r   a   c   H  \t   1   6       h   i   g   h       o   r   d
0051700    e   r       b   i   t   s       o   f       F   r   a   c   .
0051720   \r  \t   F   r   a   c   L  \t   1   6       l   o   w       o
0051740    r   d   e   r       b   i   t   s       o   f       F   r   a
0051760    c   .  \r  \r   T   h   r   e   e       r   e   g   i   s   t
0052000    e   r   s       f   o   r       e   a   c   h       o   f    
0052020    t   h   e       t   w   o       a   r   g   u   m   e   n   t
0052040    s       h   o   l   d       a       f   l   o   a   t   i   n
0052060    g       p   o   i   n   t       n   u   m   b   e   r       i
0052100    n  \r   u   n   p   a   c   k   e   d       f   o   r   m   .
0052120            T   h   e   s   e 376 001  \0   k 375       r   e   g
0052140    i   s   t   e   r   s       h   a   v   e       n   a   m   e
0052160    s       w   i   t   h       1   '   s       o   r       2   '
0052200    s       i   n       t   h   e   m   .           N   u   m   b
0052220    e   r   s  \r   a   r   e       o   f   t   e   n       r   e
0052240    f   e   r   r   e   d       t   o       b   y       i   n   d
0052260    e   x       (   S   B       o   r       D   B   )   .        
0052300    A   r   g   1       h   a   s       i   n   d   e   x       2
0052320        a   n   d       A   r   g   2       h   a   s  \r   i   n
0052340    d   e   x       3   .  \r  \r   T   h   e       I   E   E   E
0052360        s   p   e   c   i   f   i   c   a   t   i   o   n       c
0052400    a   l   l   s       f   o   r       f   o   u   r       d   i
0052420    f   f   e   r   e   n   t       r   o   u   n   d   i   n   g
0052440        m   o   d   e   s   ,       t   w   o       m   e   t   h
0052460    o   d   s       o   f  \r   h   a   n   d   l   i   n   g    
0052500    u   n   d   e   r   f   l   o   w   /   d   e   n   o   r   m
0052520    a   l   i   z   e   d       n   u   m   b   e 376 001  \0   7
0052540  345   r   s       (   w   e       h   a   v   e       a   d   d
0052560    e   d       a       t   h   i   r   d   )   ,       t   w   o
0052600        k   i   n   d   s  \r   o   f       i   n   f   i   n   i
0052620    t   y   .           W   e       a   r   e       i   n       t
0052640    h   e       p   r   o   c   e   s   s       o   f       c   o
0052660    n   v   e   r   t   i   n   g       t   o       a       R   e
0052700    a   l       p   a   c   k   a   g   e       t   h   a   t  \r
0052720    r   e   c   o   r   d   s       a   l   l       m   o   d   e
0052740        s   e   t   t   i   n   g   s       i   n       t   h   e
0052760        f   p   S   t   i   c   k   y       r   e   g   i   s   t
0053000    e   r       a   c   c   e   s   s   i   b   l   e       t   o
0053020        m   i   c   r   o   c   o   d   e   .  \r   W   h   e   n
0053040        t   h   i   s       c   o   n   v   e   r   s   i   o   n
0053060        i   s       c   o   m   p   l   e   t   e   ,       m   i
0053100    c   r   o   c   o   d   e       w   i   l   l       o   p   t
0053120    i   o   n   a   l   l   y       i   m   p   l   e   m   e   n
0053140    t 376 001  \0 233   T       a   s       m   u   c   h  \r   o
0053160    f       t   h   e       p   a   c   k   a   g   e       a   s
0053200        i   t       w   a   n   t   s       t   o   ,       b   u
0053220    t       t   r   a   p       w   h   e   n       a   n       o
0053240    p   c   o   d   e       c   a   n   n   o   t       b   e    
0053260    c   o   m   p   l   e   t   e   d       i   n  \r   m   i   c
0053300    r   o   c   o   d   e   .           W   e       f   a   l   l
0053320        s   h   o   r   t       i   n       t   h   a   t       t
0053340    h   e       f   p   S   t   i   c   k   y       r   e   g   i
0053360    s   t   e   r       i   s       n   o   t       s   a   v   e
0053400    d       i   n  \r   t   h   e       M   e   s   a       p   r
0053420    o   c   e   s   s       s   t   a   t   e   .           I   n
0053440        a   l   l       o   t   h   e   r       s   i   t   u   a
0053460    t   i   o   n   s   ,       m   i   c   r   o   c   o   d   e
0053500        e   i   t   h   e   r       c   o   m   p   l   e   t   e
0053520    s  \r   t   h   e       o   p   e   r   a   t   i   o   n    
0053540    o   r       t   r   a 376 001  \0   ;   +   p   s       t   o
0053560        s   o   f   t   w   a   r   e   ,       a   s       i   n
0053600    d   i   c   a   t   e   d       b   e   l   o   w   .  \r  \r
0053620   \r   P   O   S   S   I   B   L   E       I   M   P   R   O   V
0053640    E   M   E   N   T   S   :  \r  \r   1   )       G   e   t    
0053660    t   h   e       1   s   t       l   e   v   e   l       M   i
0053700    s   c       d   i   s   p   a   t   c   h   e   s       a   l
0053720    l       o   n       o   n   e       p   a   g   e       t   o
0053740        s   a   v   e       4       c   y   c   l   e   s       h
0053760    e   r   e   .  \r   2   )       P   u   t       c   a   l   l
0054000        t   o       R   o   u   n   d   F   r   a   c       i   n
0054020        F   D   i   v       e   x   i   t       s   a   v   i   n
0054040    g       6       c   y   c   l   e   s   .  \r   3   )       F
0054060    a   s   t   e   r       R   e   n   o   r   m       c   a   l
0054100    l   e   d       f   r   o   m       F   l   o   a   t       a
0054120    n   d       s   u   b   t   r   a   c   t   i   o   n   .  \r
0054140    4   )       E   l   i   m   i   n   a   t 376 001  \0 233 267
0054160    e       3       c   y   c   l   e   s       i   n       z   e
0054200    r   o   -   a   r   g       t   e   s   t   i   n   g       f
0054220    o   r       a   l   l       t   w   o   -   a   r   g       o
0054240    p   c   o   d   e   s   .  \r   5   )       U   s   e       3
0054260    1   b       m   a   x       s   h   i   f   t       r   a   t
0054300    h   e   r       t   h   a   n       4   0   b       f   o   r
0054320        U   n   n   o   r   m       e   n   t   r   y       f   r
0054340    o   m       F   A   d   d   /   F   S   u   b   ;       p   o
0054360    s   s   i   b   l   y  \r   d   o       t   h   e       U   n
0054400    n   o   r   m       e   n   t   r   y       d   i   f   f   e
0054420    r   e   n   t   l   y       f   o   r       n   e   g   a   t
0054440    i   v   e       f   p   T   e   m   p   .  \r   6   )       I
0054460    m   p   l   e   m   e   n   t       v   a   r   i   a   n   t
0054500        r   o   u   n   d   i   n   g       m   o   d   e   s   ,
0054520        i   n   f   i   n   i   t   i   e   s   ,       g   r   a
0054540    d   u   a   l       d   e   n   o   r   m   a   l   i   z   a
0054560  376 001  \0   8   4   t   i   o   n   ,  \r   i   n   f   i   n
0054600    i   t   y       o   n       o   v   e   r   f   l   o   w   ,
0054620        n   o   t   -   a   -   n   u   m   b   e   r       o   n
0054640        d   i   v   i   d   e       b   y       z   e   r   o   ,
0054660        m   o   d       o   n       f   i   x   /   r   o   u   n
0054700    d  \r   o   v   e   r   f   l   o   w   .  \r   7   )       G
0054720    e   t       t   h   e       f   p   S   t   i   c   k   y    
0054740    r   e   g   i   s   t   e   r       a   n   d       ?       s
0054760    o   f   t   w   a   r   e       b   i   t   s       i   n    
0055000    t   h   e       p   r   o   c   e   s   s       s   t   a   t
0055020    e   .  \r   8   )       S   p   e   e   d       F   S   c    
0055040    b   y       d   i   r   e   c   t   l   y       a   d   d   i
0055060    n   g       s   c   a   l   i   n   g       f   a   c   t   o
0055100    r       t   o       e   x   p   o   n   e   n   t       f   i
0055120    e   l   d   .  \r  \f  \r   F   P   S   T   I   C   K   Y    
0055140    R   E   G   I   S   T   E   R  \r  \r           0  \t   0  \t
0055160    O   R       1     376 001  \0 364 257   i   n   t   o       f
0055200    p   S   t   i   c   k   y   [   1   5   d   ]       o   n    
0055220    e   v   e   r   y       i   n   e   x   a   c   t       r   e
0055240    s   u   l   t  \r  \t   1  \t   T   r   a   p       o   n    
0055260    a   n   y       i   n   e   x   a   c   t       r   e   s   u
0055300    l   t  \r   1   -   2  \t   0  \t   T   r   a   p       o   n
0055320        a   n   y       d   e   n   o   r   m   a   l   i   z   e
0055340    d       r   e   s   u   l   t       (   u   s   e   r       m
0055360    a   y       b   e       i   n   t   e   r   e   s   t   e   d
0055400        i   n  \r  \t  \t   t   h   e       l   o   s   s       o
0055420    f       p   r   e   c   i   s   i   o   n   )  \r  \t   1  \t
0055440    S   u   b   s   t   i   t   u   t   e       0       o   n    
0055460    u   n   d   e   r   f   l   o   w       (   n   o   n   -   I
0055500    E   E   E   ;       r   e   q   u   e   s   t   e   d       b
0055520    y       W   i   l   h   e   l   m   )  \r  \t   2  \t   G   r
0055540    a   d   u   a   l   l   y       d   e   n   o   r   m   a   l
0055560    i   z   e       o   n       u   n   d 376 001  \0 372 004   e
0055600    r   f   l   o   w       (   n   o   t       i   n       m   i
0055620    c   r   o   c   o   d   e   )  \r  \t   3  \t   -   -  \r    
0055640    3  \t   0  \t   P   r   o   j   e   c   t   i   v   e       i
0055660    n   f   i   n   i   t   y       (   o   n   l   y       o   n
0055700    e       u   n   s   i   g   n   e   d       i   n   f   i   n
0055720    i   t   y   ;       c   o   m   p   a   r   e       o   f  \r
0055740   \t  \t   a   n   y   t   h   i   n   g       w   i   t   h    
0055760    i   n   f   i   n   i   t   y       t   r   a   p   s   ;    
0056000    n   o   t       s   u   r   e       w   h   a   t       o   t
0056020    h   e   r       o   p   e   r   a   t   i   o   n   s  \r  \t
0056040   \t   a   r   e       s   u   p   p   o   s   e   d       t   o
0056060        d   o   )   .  \r  \t   1  \t   A   f   f   i   n   e    
0056100    i   n   f   i   n   i   t   y       (   +       i   n   f   i
0056120    n   i   t   y       a   n   d       -       i   n   f   i   n
0056140    i   t   y       b   o   t   h       d   e   f   i   n   e   d
0056160    ;  \r  \t  \t   a   r   i   t   h   m   e   t   i   c     376
0056200  001  \0   z 360   a   n   d       c   o   m   p   a   r   i   s
0056220    o   n   s       w   o   r   k       a   s       e   x   p   e
0056240    c   t   e   d   )   .  \r   4   -   5  \t   0  \t   R   o   u
0056260    n   d       t   o       n   e   a   r   e   s   t       (   u
0056300    n   b   i   a   s   e   d   ;       r   o   u   n   d       t
0056320    o       e   v   e   n       i   f       h   a   l   f   w   a
0056340    y   )  \r  \t   1  \t   R   o   u   n   d       t   o   w   a
0056360    r   d       0       (   t   r   u   n   c   a   t   e   )   -
0056400    -   n   o   t       i   n       m   i   c   r   o   c   o   d
0056420    e  \r  \t   2  \t   R   o   u   n   d       t   o   w   a   r
0056440    d       p   l   u   s       i   n   f   i   n   i   t   y   -
0056460    -   n   o   t       i   n       m   i   c   r   o   c   o   d
0056500    e  \r  \t   3  \t   R   o   u   n   d       t   o   w   a   r
0056520    d       m   i   n   u   s       i   n   f   i   n   i   t   y
0056540    -   -   n   o   t       i   n       m   i   c   r   o   c   o
0056560    d   e  \r           6  \t   0  \t   T   r   a   p       i   f
0056600        d   e   n 376 001  \0 272 005   o   r   m   a   l   i   z
0056620    e   d       a   r   g   s       a   r   e       s   u   p   p
0056640    l   i   e   d  \r  \t   1  \t   N   o   r   m   a   l   i   z
0056660    e       t   h   e       a   r   g   u   m   e   n   t   s    
0056700    a   n   d       t   h   e   n       u   s   e       t   h   e
0056720    m       (   n   o   t       i   n       m   i   c   r   o   c
0056740    o   d   e   )  \r           7  \t   0  \t   T   r   a   p    
0056760    o   n       i   n   v   a   l   i   d       o   p   e   r   a
0057000    t   i   o   n   s       (   c   o   m   p   a   r   e       o
0057020    f       p   r   o   j   e   c   t   i   v   e       i   n   f
0057040    i   n   i   t   y   ,  \r  \t  \t   N   o   t   -   a   -   n
0057060    u   m   b   e   r       a   s       a   n       a   r   g   u
0057100    m   e   n   t   )  \r  \t   1  \t   R   e   s   u   l   t    
0057120    i   s       t   h   e       i   n   f   i   n   i   t   y    
0057140    o   r       n   o   t   -   a   -   n   u   m   b   e   r    
0057160    (   n   o   t       i   n       m   i   c   r   o   c   o   d
0057200    e   )  \r           8  \t   0  \t 376 001  \0 373 367   T   r
0057220    a   p       o   n       o   v   e   r   f   l   o   w       o
0057240    f       F   i   x       o   r       R   o   u   n   d       o
0057260    p   e   r   a   t   i   o   n  \r  \t   1  \t   R   e   t   u
0057300    r   n       l   o   w   -   o   r   d   e   r       1   6   d
0057320        b   i   t   s       o   f       t   h   e       r   e   s
0057340    u   l   t       (   n   o   t       i   n       m   i   c   r
0057360    o   c   o   d   e   )  \r           9  \t   0  \t   T   r   a
0057400    p       o   n       d   i   v   i   d   e   -   b   y   -   z
0057420    e   r   o  \r  \t   1  \t   S   t   u   f   f       i   n    
0057440    n   o   t   -   a   -   n   u   m   b   e   r       o   n    
0057460    d   i   v   i   d   e   -   b   y   -   z   e   r   o       a
0057500    n   d       c   o   n   t   i   n   u   e  \r  \t  \t   (   n
0057520    o   t       i   n       m   i   c   r   o   c   o   d   e   )
0057540   \r       1   0   d  \t   0  \t   T   r   a   p       o   n    
0057560    a   r   i   t   h   m   e   t   i   c       o   v   e   r   f
0057600    l   o   w  \r  \t   1  \t   S   t   u   f   f       i 376 001
0057620   \0 035 313   n       i   n   f   i   n   i   t   y       o   n
0057640        a   r   i   t   h   m   e   t   i   c       o   v   e   r
0057660    f   l   o   w       a   n   d       c   o   n   t   i   n   u
0057700    e  \r  \t  \t   (   n   o   t       i   n       m   i   c   r
0057720    o   c   o   d   e   )  \r   1   1   -   1   4   d  \t   -   -
0057740   \t   u   n   d   e   f   i   n   e   d  \r       1   5   d  \t
0057760    0  \t   A   l   l       r   e   s   u   l   t   s       h   a
0060000    v   e       b   e   e   n       e   x   a   c   t  \r  \t   1
0060020   \t   O   n   e       o   r       m   o   r   e       i   n   e
0060040    x   a   c   t       r   e   s   u   l   t   s       h   a   v
0060060    e       o   c   c   u   r   r   e   d       (   i   .   e   .
0060100    ,       r   o   u   n   d   i   n   g       h   a   s  \r  \t
0060120   \t   t   a   k   e   n       p   l   a   c   e   )   .  \r  \r
0060140    S   o   f   t   a   r   e       i   s       e   x   p   e   c
0060160    t   e   d       t   o       e   x   e   c   u   t   e       t
0060200    h   e       F   S   t   i   c   k   y       o   p   c   o   d
0060220    e       t 376 001  \0 235   N   o       e   x   c   h   a   n
0060240    g   e       a       n   e   w       v   a   l   u   e       o
0060260    n  \r   t   h   e       s   t   a   c   k       w   i   t   h
0060300        t   h   e       v   a   l   u   e       c   u   r   r   e
0060320    n   t   l   y       i   n       S   t   i   c   k   y   ;    
0060340    t   h   e   n       i   t       e   x   e   c   u   t   e   s
0060360        f   l   o   a   t   i   n   g       p   o   i   n   t  \r
0060400    o   p   c   o   d   e   s       i   n       t   h   e       n
0060420    e   w       m   o   d   e       s   e   t   t   i   n   g   s
0060440    .           T   h   e       f   p   S   t   i   c   k   y    
0060460    r   e   g   i   s   t   e   r       s   h   o   u   l   d    
0060500    b   e       s   a   v   e   d       w   i   t   h  \r   t   h
0060520    e       M   e   s   a       p   r   o   c   e   s   s       s
0060540    t   a   t   e   .           A   l   s   o   ,       t   h   e
0060560        s   o   f   t   w   a   r   e       s   t   a   t   e    
0060600    o   f       t   h   e       f   l   o   a   t   i   n   g    
0060620    p   o   i   n   t  \r   p   r 376 001  \0   0 332   o   c   e
0060640    s   s   o   r       i   n   c   l   u   d   e   s       o   c
0060660    c   u   r   r   e   n   c   e       b   i   t   s       f   o
0060700    r       a   l   l       t   h   e       e   v   e   n   t   s
0060720        w   h   i   c   h       h   a   v   e       t   r   a   p
0060740    s   :  \r  \t   I   n   e   x   a   c   t       r   e   s   u
0060760    l   t       o   c   c   u   r   r   e   d       (   t   e   m
0061000    p   o   r   a   r   i   l   y       k   e   p   t       i   n
0061020        f   p   S   t   i   c   k   y   )   ,  \r  \t   D   e   n
0061040    o   r   m   a   l   i   z   e   d       a   r   g   u   m   e
0061060    n   t   s       w   e   r   e       s   u   p   p   l   i   e
0061100    d   ;  \r  \t   I   n   v   a   l   i   d       o   p   e   r
0061120    a   t   i   o   n   s       o   c   c   u   r   r   e   d   ;
0061140   \r  \t   F   i   x   /   R   o   u   n   d       o   v   e   r
0061160    f   l   o   w       o   c   c   u   r   r   e   d   ;  \r  \t
0061200    D   i   v   i   d   e       b   y       z   e   r   o       o
0061220    c   c   u   r   r   e   d   ;  \r  \t   A   r   i 376 001  \0
0061240    ; 356   t   h   m   e   t   i   c       o   v   e   r   f   l
0061260    o   w       o   c   c   u   r   r   e   d   ;  \r  \t   U   n
0061300    d   e   r   f   l   o   w       o   c   c   u   r   r   e   d
0061320    .  \r   T   h   e       m   i   c   r   o   c   o   d   e    
0061340    n   e   e   d       n   o   t       k   e   e   p       t   h
0061360    e   s   e       o   c   c   u   r   r   e   n   c   e       b
0061400    i   t   s       b   e   c   a   u   s   e       t   h   e    
0061420    s   o   f   t   w   a   r   e       c   a   n  \r   o   r   i
0061440    g   i   n   a   l   l   y       c   a   u   s   e       t   h
0061460    e       e   v   e   n   t   s       t   o       t   r   a   p
0061500    ,       r   e   m   e   m   b   e   r       t   h   e       e
0061520    v   e   n   t       i   n       s   t   o   r   a   g   e   ,
0061540        a   n   d  \r   t   u   r   n       o   f   f       t   h
0061560    e       m   i   c   r   o   c   o   d   e       t   r   a   p
0061600        e   n   a   b   l   e   .  \r   *   *   W   h   a   t    
0061620    a   b   o   u   t       k   e   e   p   i   n   g       t   h
0061640    e     376 001  \0 360   Q   e   v   e   n   t   s       i   n
0061660        t   h   e       p   r   o   c   e   s   s       s   t   a
0061700    t   e   ?  \r  \r   I   n       t   h   e       c   u   r   r
0061720    e   n   t       m   i   c   r   o   c   o   d   e       i   m
0061740    p   l   e   m   e   n   t   a   t   i   o   n   ,       a   n
0061760    y       a   r   g   u   m   e   n   t       w   i   t   h    
0062000    3   7   7   b       o   r       0   b  \r   e   x   p   o   n
0062020    e   n   t       a   n   d       a   n   y       r   e   s   u
0062040    l   t       w   h   i   c   h       o   v   e   r   f   l   o
0062060    w   s       w   i   l   l       t   r   a   p       t   o    
0062100    s   o   f   t   w   a   r   e   .  \r  \r  \r   R   O   U   N
0062120    D   I   N   G       M   O   D   E   S  \r  \r   R   o   u   n
0062140    d   i   n   g       o   c   c   u   r   s       a   t       S
0062160    B   [   f   p   F   r   a   c   L   ]       b   i   t       7
0062200        f   o   r       a   r   i   t   h   m   e   t   i   c    
0062220    o   r       b   i   t       1   5   d       f   o   r       F
0062240    i   x       a   n   d  \r 376 001  \0 306 237   R   o   u   n
0062260    d   .           T   h   e       b   i   t       f   o   l   l
0062300    o   w   i   n   g       t   h   e       o   n   e       r   o
0062320    u   n   d   e   d       i   s       t   h   e       r   o   u
0062340    n   d   i   n   g       b   i   t   ,       a   n   d       a
0062360    l   l       l   o   w   e   r  \r   b   i   t   s       a   r
0062400    e       s   t   i   c   k   y       b   i   t   s   .        
0062420    I   f       s   t   i   c   k   y       b   i   t   s       a
0062440    r   e       a   l   l       0   ,       t   h   e       r   e
0062460    s   u   l   t       i   s       e   x   a   c   t   ,       a
0062500    n   d       n   o  \r   r   o   u   n   d   i   n   g       o
0062520    c   c   u   r   s   .           O   t   h   e   r   w   i   s
0062540    e   ,       i   f       t   h   e       I   n   e   x   a   c
0062560    t   R   e   s   u   l   t       t   r   a   p       i   s    
0062600    e   n   a   b   l   e   d   ,       t   r   a   p   .  \r   O
0062620    t   h   e   r   w   i   s   e   ,       r   o   u   n   d    
0062640    i   n       t   h   e       d   i   r   e   c 376 001  \0 205
0062660    j   t   i   o   n       s   p   e   c   i   f   i   e   d    
0062700    b   y       t   h   e       r   o   u   n   d   i   n   g    
0062720    m   o   d   e   .  \r  \r   "   R   o   u   n   d       t   o
0062740        n   e   a   r   e   s   t   "       g   o   e   s       i
0062760    n       t   h   e       o   b   v   i   o   u   s       d   i
0063000    r   e   c   t   i   o   n       w   h   e   n       t   h   e
0063020        s   t   i   c   k   y       b   i   t   s       a   r   e
0063040   \r   .   n   e   .       0   ;       i   f       r   o   u   n
0063060    d   i   n   g       b   i   t       i   s       1       a   n
0063100    d       s   t   i   c   k   y       b   i   t   s       .   e
0063120    q   .       0   ,       t   h   e       n   u   m   b   e   r
0063140        i   s       e   x   a   c   t   l   y  \r   h   a   l   f
0063160    w   a   y       b   e   t   w   e   e   n       t   w   o    
0063200    p   o   s   s   i   b   l   e       r   e   s   u   l   t   s
0063220    ,       s   o       b   y       c   o   n   v   e   n   t   i
0063240    o   n       r   o   u   n   d       t   o       t   h   e    
0063260    n 376 001  \0 347 256   e   a   r   e   s   t  \r   e   v   e
0063300    n       n   u   m   b   e   r   .  \r   %  \r  \f  \r   *   N
0063320    O   T   E       t   h   a   t       f   p   E   x   p   S   i
0063340    g   n   ,       f   p   F   r   a   c   H   ,       a   n   d
0063360        f   p   F   r   a   c   L       a   r   e       n   o   t
0063400        u   s   e   d   -   -   t   h   e   s   e       a   r   e
0063420        d   i   s   p   l   a   c   e   d  \r   *   b   y       S
0063440    B   [   ]       o   r       D   B   [   ]       t   o       s
0063460    e   l   e   c   t       t   h   e       1   /   2       r   e
0063500    g   i   s   t   e   r   s   .  \r  \r   R   V   [   f   p   E
0063520    x   p   S   i   g   n   ,   7   0   ]   ;  \t  \t   R   V   [
0063540    f   p   F   r   a   c   H   ,   1   4   ]   ;  \t   R   V   [
0063560    f   p   F   r   a   c   L   ,   4   4   ]   ;  \r   R   V   [
0063600    f   p   E   x   p   S   i   g   n   1   ,   7   2   ]   ;  \t
0063620    R   V   [   f   p   F   r   a   c   1   H   ,   1   6   ]   ;
0063640   \t   R   V   [   f   p   F   r   a   c   1   L   ,   4   6   ]
0063660    ;  \r   R   V   [   f 376 001  \0 342  \t   p   E   x   p   S
0063700    i   g   n   2   ,   7   3   ]   ;  \t   R   V   [   f   p   F
0063720    r   a   c   2   H   ,   1   7   ]   ;  \t   R   V   [   f   p
0063740    F   r   a   c   2   L   ,   4   7   ]   ;  \r   *  \t   l   s
0063760    p   L   2   ,   3  \t  \t           u   B   u   f   2   ,   3
0064000   \t               x   B   u   f   2   ,   3  \r  \r   *   R   V
0064020    [   f   p   S   t   i   c   k   y   ,   7   5   ]   ;  \t  \t
0064040    *   S   e   e       p   a   g   e       1       c   o   m   m
0064060    e   n   t   -   -   N   O   T       A       T   E   M   P   O
0064100    R   A   R   Y  \r   *   R   V   [   f   p   C   o   d   e   ,
0064120    4   5   ]   ;  \t  \t   *   F   i   x   ,       R   o   u   n
0064140    d       (   x   B   u   f   1   )  \r   R   V   [   f   p   C
0064160    C   T   e   m   p   ,   4   4   ]   ;  \t  \t   *   U   n   n
0064200    o   r   m  \t   (   x   B   u   f   )  \r   R   V   [   f   p
0064220    T   e   m   p   ,   7   1   ]   ;  \t  \t   *   U   n   n   o
0064240    r   m   ,       F   A   d   d   ,       F   S   u   b       (
0064260    l   s   p   L   1   )  \r   R   V   [   f 376 001  \0 373 336
0064300    p   C   o   u   n   t   ,   4   4   ]   ;  \t  \t   *   F   M
0064320    u   l       -   -       s   a   m   e       a   s       f   p
0064340    C   C   T   e   m   p  \r   R   V   [   f   p   F   r   a   c
0064360    2   H   L   S   h   1   ,   7   0   ]   ;  \t   *   F   M   u
0064400    l       (   l   s   p   L   0   )  \r   R   V   [   f   p   F
0064420    r   a   c   2   H   L   S   h   1   p   1   ,   4   5   ]   ;
0064440   \t   *   F   M   u   l       -   -       s   a   m   e       a
0064460    s       f   p   C   o   d   e  \r   R   V   [   f   p   O   n
0064500    e   ,   7   1   ]   ;  \t  \t   *   F   M   u   l       -   -
0064520        s   a   m   e       a   s       f   p   T   e   m   p  \r
0064540    R   M   [   f   p   F   r   a   c   1   L   L   ,   I   P   [
0064560    f   p   F   r   a   c   2   L   ]   ]   ;  \t   *   F   M   u
0064600    l  \r   R   V   [   f   p   T   F   r   a   c   ,   7   0   ]
0064620    ;  \t  \t   *   F   D   i   v       -   -       s   a   m   e
0064640        a   s       f   p   F   r   a   c   2   H   L   S   h   1
0064660   \r   R   V   [   f   p   F   r   a   c   2   H   '   ,   4   4
0064700  376 001  \0   q   {   ]   ;  \t  \t   *   F   D   i   v       -
0064720    -       s   a   m   e       a   s       f   p   C   C   T   e
0064740    m   p  \r   R   V   [   f   p   F   r   a   c   2   H   '   p
0064760    1   ,   7   1   ]   ;  \t   *   F   D   i   v       -   -    
0065000    s   a   m   e       a   s       f   p   T   e   m   p  \r   R
0065020    V   [   f   p   F   r   a   c   2   H   p   1   ,   4   5   ]
0065040    ;  \t   *   F   D   i   v       -   -       s   a   m   e    
0065060    a   s       f   p   C   o   d   e  \r   *   R   M   [   f   p
0065100    R   h   i   ,   I   P   [   f   p   F   r   a   c   1   L   ]
0065120    ]   ;  \t   *   F   S   q   R   t  \r   *   R   M   [   f   p
0065140    R   l   o   ,   I   P   [   f   p   F   r   a   c   1   H   ]
0065160    ]   ;  \t   *   F   S   q   R   t  \r  \r   *   5   4   5   b
0065200        m   i       i   n   c   l   u   d   i   n   g       t   w
0065220    o       a   l   p   h   a   -   b   y   t   e       d   i   s
0065240    p   a   t   c   h       l   o   c   a   t   i   o   n   s    
0065260    o   v   e   r   w   r   i   t   t   e   n       i   n       M
0065300    e   s   a   X   . 376 001  \0 223   S  \r   S   e   t   [   f
0065320    p   P   a   g   e   0   ,   1   1   ]   ;  \t   *   3   5   4
0065340    b       m   i       (   n   o   t       p   a   g   e   s    
0065360    4       t   o       7   )  \r   S   e   t   [   f   p   P   a
0065400    g   e   1   ,   1   1   ]   ;  \t   *       3   6   b       m
0065420    i  \r   S   e   t   [   f   p   P   a   g   e   2   ,   1   1
0065440    ]   ;  \t   *       4   0   b       m   i  \r   S   e   t   [
0065460    f   p   P   a   g   e   3   ,   1   1   ]   ;  \t   *        
0065500    5   b       m   i  \r   S   e   t   [   f   p   P   a   g   e
0065520    4   ,   1   1   ]   ;  \t   *       1   2   b       m   i  \r
0065540    S   e   t   [   f   p   P   a   g   e   5   ,   1   1   ]   ;
0065560   \t   *       2   2   b       m   i  \r   S   e   t   [   f   p
0065600    P   a   g   e   6   ,   1   1   ]   ;  \t   *           2   b
0065620        m   i  \r   S   e   t   [   f   p   P   a   g   e   7   ,
0065640    1   1   ]   ;  \t   *       2   3   b       m   i  \r   S   e
0065660    t   [   f   p   P   a   g   e   8   ,   1   1   ]   ;  \t   *
0065700            3   b       m   i  \r  \r   L 376 001  \0   I   F   o
0065720    c   a   [   U   n   n   o   r   m   D   i   s   p   ,   f   p
0065740    P   a   g   e   0   ,   4   0   ]   ;  \r   L   o   c   a   [
0065760    U   n   p   a   c   k   R   e   t   ,   f   p   P   a   g   e
0066000    0   ,   6   0   ]   ;  \r   L   o   c   a   [   R   o   u   n
0066020    d   D   i   s   p   ,   f   p   P   a   g   e   0   ,   1   0
0066040    0   ]   ;  \r   L   o   c   a   [   F   i   x   D   i   s   p
0066060    ,   f   p   P   a   g   e   0   ,   1   2   0   ]   ;  \r  \f
0066100   \r   M   @   [   F   l   o   a   t   O   p   ,       O   r   [
0066120    A   n   d   [   #   1   ,   3   7   ]   ,       L   S   h   i
0066140    f   t   [   #   2   ,       5   ]   ]   ]   ;  \t   *       F
0066160    l   o   a   t   O   p   [   o   p   c   o   d   e   ,       f
0066200    n   ]  \r   *       l   s   p   U   F   N       =       <   3
0066220        b   i   t   s       o   f       d   i   s   p   a   t   c
0066240    h       ,   ,       l   o   w       5       b   i   t   s    
0066260    o   f       o   p   c   o   d   e   >  \r  \r   R   V   2   [
0066300    R   e   s   u   l   t   1   H   i   ,       R   e   s   u 376
0066320  001  \0 235   d   l   t   1   L   o   ,       I   P   [   A   C
0066340    0   ]   ]   ;  \r  \r   @   F   P   l   u   s   :  \t   l   s
0066360    p   U   F   N       _       F   l   o   a   t   O   p   [   3
0066400    5   0   ,       0   ]   c   ,       g   o   t   o   [   F   U
0066420    n   b   o   x   ]   ,       o   p   c   o   d   e   [   3   5
0066440    0   ]   ;  \t  \r   @   F   D   i   f   f   e   r   e   n   c
0066460    e   :  \r  \t   l   s   p   U   F   N       _       F   l   o
0066500    a   t   O   p   [   3   5   1   ,       1   ]   c   ,       g
0066520    o   t   o   [   F   U   n   b   o   x   ]   ,       o   p   c
0066540    o   d   e   [   3   5   1   ]   ;  \r   @   F   T   i   m   e
0066560    s   :  \t   l   s   p   U   F   N       _       F   l   o   a
0066600    t   O   p   [   3   5   2   ,       2   ]   c   ,       g   o
0066620    t   o   [   F   U   n   b   o   x   ]   ,       o   p   c   o
0066640    d   e   [   3   5   2   ]   ;  \r   @   F   Q   u   o   t   i
0066660    e   n   t   :  \r  \t   l   s   p   U   F   N       _       F
0066700    l   o   a   t   O   p   [   3   5   3   ,       3   ]   c   ,
0066720        g   o   t 376 001  \0   D 247   o   [   F   U   n   b   o
0066740    x   ]   ,       o   p   c   o   d   e   [   3   5   3   ]   ;
0066760   \r   @   F   G   r   e   a   t   e   r   p   :  \r   *   *   *
0067000    *   *  \t   l   s   p   U   F   N       _       3   6   2   c
0067020    ,       g   o   t   o   [   l   s   p   U   f   n   x   P   7
0067040    ]   ,       o   p   c   o   d   e   [   3   6   2   ]   ;  \t
0067060    *       F   G   r   e   a   t   e   r   p  \r  \t   l   s   p
0067100    U   F   N       _       F   l   o   a   t   O   p   [   3   6
0067120    2   ,       4   ]   c   ,       g   o   t   o   [   F   U   n
0067140    b   o   x   ]   ,       o   p   c   o   d   e   [   3   6   2
0067160    ]   ;  \r  \r   *       C   o   m   m   o   n       f   l   o
0067200    a   t   i   n   g       u   n   b   o   x       r   o   u   t
0067220    i   n   e   .           T   o       s   i   m   p   l   i   f
0067240    y       i   n   t   e   r   f   a   c   e       t   o       M
0067260    e   s   a   ,       w   h   i   c   h  \r   *       e   x   p
0067300    e   c   t   s       T   O   S       t   o       b   e       l
0067320    o   2   ,       h   i   2       a 376 001  \0   F   1   n   d
0067340        T   O   S   -   1       t   o       b   e       l   o   1
0067360    ,       h   i   1   ,       w   e       u   n   b   o   x    
0067400    t   h   e       t   o   p  \r   *       t   w   o       e   l
0067420    e   m   e   n   t   s       o   f       t   h   e       s   t
0067440    a   c   k       i   n   t   o       4       c   o   n   t   i
0067460    g   u   o   u   s       r   e   g   s   ,       p   o   i   n
0067500    t   i   n   g       s   t   k   p       a   t       t   h   e
0067520   \r   *       f   r   o   n   t       e   n   d   ,       a   n
0067540    d       s   w   a   p       p   u   s   h       a   n   d    
0067560    p   o   p       i   n       t   h   e       m   e   s   a    
0067600    c   o   d   e   .           T   h   u   s       w   e       w
0067620    i   l   l       h   a   v   e  \r   *       q   B   u   f    
0067640    =       h   i   2   ,       l   o   2   ,       h   i   1   ,
0067660        l   o   1  \r  \r   F   U   n   b   o   x   :  \t   l   o
0067700    a   d   p   a   g   e   [   p   g   H   S   t   a   c   k   ]
0067720    ,       c   a   l   l   [   C   h   e   c   k   E   l 376 001
0067740   \0 363  \b   t   2   P   7   ]   ;  \r  \t   T       _       S
0067760    t   a   c   k   &   -   1   ,       c   a   l   l   [   F   U
0070000    n   b   o   x   S   u   b   ]   ;  \r  \t   P   F   e   t   c
0070020    h   2   [   x   B   u   f   2   ,       q   B   u   f   ,    
0070040    0   ]   ;  \r  \t   T       _       S   t   a   c   k   &   -
0070060    1   ,       c   a   l   l   [   F   U   n   b   o   x   S   u
0070100    b   ]   ;  \r  \t   P   F   e   t   c   h   2   [   x   B   u
0070120    f   2   ,       q   B   u   f   2   ,       0   ]   ;  \r  \t
0070140    l   s   p   L   N       _       I   P   [   q   B   u   f   ]
0070160    c   ;  \r  \t   T       _       (   S   S   t   k   P   &   N
0070200    S   t   k   P   )       x   o   r       (   3   7   7   c   )
0070220    ;  \t  \t   *       T       _       S   t   k   P  \r  \t   S
0070240    t   k   P       _       l   s   p   L   N   ,       l   s   p
0070260    L   N       _       T   ,       N   o   R   e   g   I   L   o
0070300    c   k   O   K   ;  \t   *       P   o   i   n   t       s   t
0070320    k   p       a   t       q   B   u   f  \r  \r   *       T    
0070340    i   s     376 001  \0 017 206   l   o   a   d   e   d       w
0070360    i   t   h       3   0   b   ,       s   t   o   r   e   d    
0070400    i   n       S   A   L   U   F       a   s       t   h   e    
0070420    A       +       A       +       C   y   0       A   L   U    
0070440    o   p   e   r   a   t   i   o   n   .  \r  \r  \t   f   p   F
0070460    r   a   c   2   H       _       T       _       3   0   C   ;
0070500   \r  \t   l   o   a   d   p   a   g   e   [   f   p   P   a   g
0070520    e   0   ]   ;  \r  \t   f   p   F   r   a   c   2   H       _
0070540        (   f   p   F   r   a   c   2   H   )       +       (   S
0070560    A   L   U   F       _       T   )   ,       G   o   T   o   P
0070600    [   U   n   p   a   c   k   2   ]   ;  \r  \r  \r   F   U   n
0070620    b   o   x   S   u   b   :  \r  \t   x   B   u   f   2       _
0070640        T   ;  \r  \t   T       _       l   s   h   [   S   t   a
0070660    c   k   &   -   1   ,       1   0   ]   ;  \r  \t   x   B   u
0070700    f   3       _       T   ;  \r  \t   T       _       r   s   h
0070720    [   x   B   u   f   2   ,       1   1   ]   ;  \r  \t   T    
0070740    _       (   r   s   h   [   x 376 001  \0 260   }   B   u   f
0070760    3   ,       1   ]   )       o   r       T   ;  \r  \t   P   F
0071000    e   t   c   h   1   [   M   D   S   T   y   p   e   B   a   s
0071020    e   B   r   ,       l   s   p   T   y   p   e   ]   ;  \r  \t
0071040    T       _       (   F   l   o   a   t   p   T   y   p   e   )
0071060    ;  \r  \t   l   u       _       (   r   h   m   a   s   k   [
0071100    l   s   p   T   y   p   e   ]   )       x   o   r       T   ;
0071120   \r  \t   s   k   i   p   [   a   l   u   #   0   ]   ;  \r  \t
0071140            r   e   t   u   r   n   ;  \r   F   l   o   a   t   U
0071160    f   n   :  \r  \t   l   s   p   U   F   N       _       (   l
0071200    s   p   U   F   N   )       o   r       (   3   4   0   c   )
0071220    ,       g   o   t   o   [   u   f   n   L   B   L   ]   ;  \r
0071240   \r  \f  \r   %   U   n   p   a   c   k   2       u   n   p   a
0071260    c   k   s       t   h   e       f   i   r   s   t       R   e
0071300    a   l       o   n       t   h   e       s   t   a   c   k    
0071320    i   n   t   o       f   p   E   x   p   S   i   g   n   2   ,
0071340        f   p   F   r   a   c   2   H   ,       a   n 376 001  \0
0071360    J 214   d  \r   f   p   F   r   a   c   2   L       a   n   d
0071400        t   h   e       2   n   d       i   n   t   o       f   p
0071420    E   x   p   S   i   g   n   1   ,       f   p   F   r   a   c
0071440    1   H   ,       a   n   d       f   p   F   r   a   c   1   L
0071460        a   n   d       r   e   t   u   r   n   s  \r   S   B    
0071500    p   o   i   n   t   i   n   g       a   t       a   r   g   1
0071520        a   n   d       f   p   F   r   a   c   1   H       i   n
0071540        T       f   o   r       F   A   d   d   ,       F   S   u
0071560    b   ,       F   M   u   l   ,       a   n   d       F   D   i
0071600    v   .  \r  \r   U   n   p   a   c   k   1       u   n   p   a
0071620    c   k   s       o   n   e       r   e   a   l       o   n    
0071640    t   h   e       s   t   a   c   k       i   n   t   o       f
0071660    p   E   x   p   S   i   g   n   2   ,       f   p   F   r   a
0071700    c   2   H   ,       a   n   d  \r   f   p   F   r   a   c   2
0071720    L       a   n   d       r   e   t   u   r   n   s       S   B
0071740        a   n   d       D   B       p   o   i   n   t   i   n   g
0071760        a 376 001  \0 327   O   t       a   r   g   2       f   o
0072000    r       F   i   x       a   n   d       R   o   u   n   d   .
0072020   \r  \r   U   n   p   a   c   k       a   l   s   o       f   i
0072040    l   t   e   r   s       o   u   t       n   u   m   b   e   r
0072060    s       w   h   i   c   h       t   h   e       m   i   c   r
0072100    o   c   o   d   e       c   a   n   '   t       h   a   n   d
0072120    l   e   ,       t   r   a   p   i   n   g       o   n  \r   u
0072140    n   n   o   r   m   a   l   i   z   e   d       n   u   m   b
0072160    e   r   s   ,       I   n   f   i   n   i   t   i   e   s   ,
0072200        a   n   d       N   o   t   A   N   u   m   b   e   r   s
0072220    .  \r  \r   T   i   m   i   n   g       =       2   9       c
0072240    y   c   l   e   s       f   o   r       U   n   p   a   c   k
0072260    1   ,       4   6       f   o   r       2       a   r   g   s
0072300        (   -   3       p   e   r       a   r   g       t   h   a
0072320    t       i   s       0       a   n   d  \r   +   1       p   e
0072340    r       a   r   g       t   h   a   t       i   s       n   e
0072360    g   a   t   i   v   e   ) 376 001  \0   <  \r   .  \r   %  \r
0072400    O   n   P   a   g   e   [   f   p   P   a   g   e   0   ]   ;
0072420   \r  \r   *   f   p   F   r   a   c   2   H       c   o   n   t
0072440    a   i   n   s       6   0   b       h   e   r   e   ,       w
0072460    h   e   r   e       t   h   e       t   w   o       l   e   a
0072500    d   i   n   g       o   n   e   s       (   i   .   e   .   ,
0072520        b   i   t   s       1   0   :   1   1   d   )  \r   *   a
0072540    r   e       l   o   a   d   e   d       i   n   t   o       t
0072560    h   e       w   o   r   d   -   a   d   d   r   e   s   s   i
0072600    n   g       p   a   r   t       o   f       S   B       a   n
0072620    d       s   e   l   e   c   t       w   o   r   d       3    
0072640    o   f       a   n  \r   *   a   d   d   r   e   s   s   e   d
0072660        q   u   a   d   w   o   r   d   .  \r  \r   U   n   p   a
0072700    c   k   2   :  \r  \t   f   p   F   r   a   c   2   H       _
0072720        (   S   B       _       f   p   F   r   a   c   2   H   )
0072740        -       1   ,       T   a   s   k   ;  \r  \t   T       _
0072760        L   d   F   [   S   t   a   c   k   ,   1 376 001  \0 347
0073000  304   1   ,   7   ]   ;  \r   *   B   B   F   B   X       c   a
0073020    u   s   e   s       S   B   X   _   S   B   ;       t   h   e
0073040        S   B   _       h   e   r   e       t   a   k   e   s    
0073060    e   f   f   e   c   t       w   h   e   n       B   B   F   B
0073100    X       i   n       t   h   e       l   a   s   t       m   i
0073120        o   f  \r   *   U   n   p   a   c   k       i   s       e
0073140    x   e   c   u   t   e   d   .  \r  \t   S   B       _       f
0073160    p   F   r   a   c   2   H   ,       f   p   F   r   a   c   2
0073200    H       _       T   ,       B   B   F   B   X   ,       N   o
0073220    R   e   g   I   L   o   c   k   O   K   ,       C   a   l   l
0073240    [   U   n   p   a   c   k   2   A   ]   ;  \r  \t   f   p   F
0073260    r   a   c   2   H       _       (   L   S   h   [   f   p   F
0073300    r   a   c   2   H   ,   7   ]   )       o   r       T   ,    
0073320    C   a   l   l   [   U   n   p   a   c   k   ]   ;  \r  \t   S
0073340    t   k   P       _       l   s   p   L   N   ;  \t  \t   *   *
0073360    *   *       R   e   s   t   o   r   e       S   t   k   p  \r
0073400   \t 376 001  \0 212 370   D   i   s   p   a   t   c   h   [   l
0073420    s   p   U   F   N   ,   1   0   ,   3   ]   ;  \r  \t   T    
0073440    _       f   p   F   r   a   c   1   H       _       (   L   S
0073460    h   [   f   p   F   r   a   c   1   H   ,   7   ]   )       o
0073500    r       T   ,       D   i   s   p   [   @   F   A   d   d   ]
0073520    ;  \r  \r   %       n   o   t       u   s   e   d       y   e
0073540    t       -   -   -   -   -   -  \r   f   p   S   e   t   S   B
0073560    :  \r  \t   S   B       _       f   p   F   r   a   c   2   H
0073600    ,       R   e   t   u   r   n   ;  \r  \r   U   n   p   a   c
0073620    k   1   :  \r  \t   f   p   F   r   a   c   2   H       _    
0073640    (   f   p   F   r   a   c   2   H   )       +       (   S   A
0073660    L   U   F       _       T   )   ,       C   a   l   l   [   f
0073700    p   S   e   t   S   B   ]   ;  \r  \t   D   B       _       f
0073720    p   F   r   a   c   2   H   ,       B   B   F   B   X   ,    
0073740    C   a   l   l   [   U   n   p   a   c   k   ]   ;  \t   *   B
0073760    B   F   B   X       w   i   l   l       c   a   u   s   e    
0074000    S   B   X   _   S   B 376 001  \0   # 334  \r  \t   D   i   s
0074020    p   a   t   c   h   [   f   p   C   o   d   e   ,   1   4   ,
0074040    4   ]   ;  \r  \t   T       _       f   p   F   r   a   c   2
0074060    H       _       (   L   S   h   [   f   p   F   r   a   c   2
0074100    H   ,   7   ]   )       o   r       T   ,       D   i   s   p
0074120    [   @   F   i   x   ]   ;  \r   -   -   -   -   -       %  \r
0074140   \r   *   P   o   s   i   t   i   o   n       e   x   p   o   n
0074160    e   n   t       i   n       b   i   t   s       1   :   8    
0074200    a   n   d       s   i   g   n       i   n       b   i   t    
0074220    1   5   d       b   e   c   a   u   s   e   :  \r   *   (   a
0074240    )       X   O   R   '   i   n   g           s   i   g   n   s
0074260        a   n   d       a   d   d   i   n   g       o   r       s
0074300    u   b   t   r   a   c   t   i   n   g       e   x   p   o   n
0074320    e   n   t   s       i   n       F   M   u   l       a   n   d
0074340        F   D   i   v       c   a   n  \r   *   b   e       a   c
0074360    c   o   m   p   l   i   s   h   e   d       i   n       o   n
0074400    e       o   p   e   r   a   t   i   o   n 376 001  \0 263 245
0074420    ;  \r   *   (   b   )       C   o   n   v   e   n   i   e   n
0074440    t       o   v   e   r   f   l   o   w   /   u   n   d   e   r
0074460    f   l   o   w       t   e   s   t       i   n       s   i   g
0074500    n       b   i   t       o   f       w   o   r   d   ;       a
0074520    n   d  \r   *   (   c   )       C   o   n   v   e   n   i   e
0074540    n   t       f   o   r       p   a   c   k   i   n   g       r
0074560    e   s   u   l   t   .  \r  \r   U   n   p   a   c   k   :  \t
0074600    T       _       L   d   F   [   S   t   a   c   k   ,   1   1
0074620    ,   7   ]   ;  \r  \t   S   B   [   f   p   F   r   a   c   H
0074640    ]       _       T   ;  \r   U   n   p   a   c   k   2   A   :
0074660   \r  \t   T       _       (   L   d   F   [   S   t   a   c   k
0074700    &   +   1   ,   1   ,   1   7   ]   )       a   n   d       n
0074720    o   t       T   ,       G   o   T   o   [   U   n   p   N   e
0074740    g   ,   R   <   0   ]   ;  \r  \t   S   B   [   f   p   E   x
0074760    p   S   i   g   n   ]       _       T   ,       D   b   l   G
0075000    o   T   o   [   U   n   p   N   Z   ,       U   n   p   Z   ,
0075020  376 001  \0   [ 202       A   L   U   #   0   ]   ;  \r   U   n
0075040    p   N   e   g   :  \t   S   B   [   f   p   E   x   p   S   i
0075060    g   n   ]       _       (   Z   e   r   o   )       +       T
0075100        +       1   ,       D   b   l   G   o   T   o   [   U   n
0075120    p   N   Z   ,       U   n   p   Z   ,       A   L   U   #   0
0075140    ]   ;  \r  \r   *   Z   e   r   o       e   x   p   o   n   e
0075160    n   t       m   a   y       r   e   p   r   e   s   e   n   t
0075200        t   r   u   e       0       o   r       d   e   n   o   r
0075220    m   a   l   i   z   e   d       n   u   m   b   e   r   .  \r
0075240   \r   U   n   p   Z   :  \t   T       _       S   t   a   c   k
0075260    &   +   1   ;  \r  \t   L   U       _       S   B   [   f   p
0075300    F   r   a   c   H   ]       o   r       T   ;  \r  \t   S   B
0075320    [   f   p   F   r   a   c   L   ]       _       T   ,       B
0075340    B   F   B   X   ,       G   o   T   o   [   D   e   n   o   r
0075360    m   T   r   a   p   ,   A   L   U   #   0   ]   ;  \r   C   I
0075400    n   e   x   a   c   t   O   K   :  \r  \t   R   e   t   u   r
0075420    n   ;  \r  \r   U 376 001  \0   w   4   n   p   N   Z   :  \t
0075440    L   U       _       S   B   [   f   p   E   x   p   S   i   g
0075460    n   ]       +       (   2   0   0   C   )   ;  \r  \t   S   B
0075500    [   f   p   F   r   a   c   H   ]       _       S   B   [   f
0075520    p   F   r   a   c   H   ]       o   r       (   2   0   0   C
0075540    )   ,       G   o   T   o   [   N   a   N   T   r   a   p   ,
0075560    A   L   U   <   0   ]   ;  \r  \t   T       _       L   S   h
0075600    [   S   t   a   c   k   ,   7   ]   ;  \r  \t   S   B   [   f
0075620    p   F   r   a   c   L   ]       _       T   ,       B   B   F
0075640    B   X   ;  \r  \t   T       _       R   S   h   [   S   t   a
0075660    c   k   &   +   1   ,   1   1   ]   ,       R   e   t   u   r
0075700    n   ;  \r  \f  \r   %   E   n   t   r   i   e   s       a   r
0075720    e       P   a   c   k   A       a   n   d       R   e   n   o
0075740    r   m   ;       N   o   r   m   G   o       i   s       e   n
0075760    t   e   r   e   d       b   y       F   A   d   d   /   F   S
0076000    u   b       a   n   d       F   S   c   ;       F   l   o   a
0076020    t  \r   c   o   n   t   a   i   n   s 376 001  \0   ;   !    
0076040    a       c   o   p   y       o   f       t   h   e       m   i
0076060        a   t       R   e   n   o   r   m   .  \r  \r   R   e   n
0076100    o   r   m       l   e   f   t   -   s   h   i   f   t   s    
0076120    t   h   e       f   r   a   c   t   i   o   n       S   B   [
0076140    f   p   F   r   a   c   H   /   L   ]       u   n   t   i   l
0076160        S   B   [   f   p   F   r   a   c   H   ]   [   0   ]    
0076200    i   s       1       a   n   d  \r   s   u   b   t   r   a   c
0076220    t   s       t   h   e       n   u   m   b   e   r       o   f
0076240        p   o   s   i   t   i   o   n   s       s   h   i   f   t
0076260    e   d       f   r   o   m       t   h   e       e   x   p   o
0076300    n   e   n   t   .           T   h   e   n       i   t       r
0076320    o   u   n   d   s  \r   S   B   [   f   p   F   r   a   c   H
0076340    ]   ,   ,   S   B   [   f   p   F   r   a   c   L   ]       a
0076360    t       S   B   [   f   p   F   r   a   c   L   ]   [   7   ]
0076400        u   s   i   n   g       S   B   [   f   p   F   r   a   c
0076420    L   ]   [   8   ]       f   o   r       r   o   u   n   d 376
0076440  001  \0   5   r   i   n   g       a   n   d  \r   S   B   [   f
0076460    p   F   r   a   c   L   ]   [   9   :   1   5   d   ]       a
0076500    s       s   t   i   c   k   y       b   i   t   s   .        
0076520    F   i   n   a   l   l   y   ,       i   t       p   e   r   f
0076540    o   r   m   s       r   a   n   g   e       c   h   e   c   k
0076560    s   ,       p   u   s   h   e   s  \r   t   h   e       n   u
0076600    m   b   e   r       o   n   t   o       t   h   e       s   t
0076620    a   c   k   ,       a   n   d       e   x   i   t   s   .  \r
0076640   \r   N   O   T   E   :       I   f       a   n       o   v   e
0076660    r   f   l   o   w       o   c   c   u   r   s   ,       t   h
0076700    e       p   o   s   s   i   b   l   e       r   a   n   g   e
0076720        o   f       e   x   p   o   n   e   n   t   s       i   s
0076740   \r   3   7   7       t   o       3   7   6   +   3   7   6   -
0076760    2   0   0       o   r       3   7   7   b       t   o       5
0077000    7   4   b       (   F   o   r       F   M   u   l       w   i
0077020    t   h       0       N   o   r   m   S   t   e   p   s   )   .
0077040   \r   F   o   r 376 001  \0   E 321       a   n       u   n   d
0077060    e   r   f   l   o   w   ,       t   h   e       p   o   s   s
0077100    i   b   l   e       r   a   n   g   e       i   s       0    
0077120    o   r       7   7   7   b       d   o   w   n       t   o    
0077140    0   -   3   7   6   b   +   1   7   7   b   -   1   ;       i
0077160    .   e   .   ,  \r   0       o   r       7   7   7   b       d
0077200    o   w   n       t   o       6   0   0   b       (   F   o   r
0077220        F   D   i   v   )   .  \r  \r   T   i   m   i   n   g    
0077240    f   r   o   m       R   e   n   o   r   m       t   o       e
0077260    x   i   t   :       8       x       n   s   t   e   p   s    
0077300    +       3   0       +       (   i   f       s   t   i   c   k
0077320    y       b   i   t   s       .   e   q   .       0       a   f
0077340    t   e   r  \r   n   o   r   m   a   l   i   z   i   n   g   :
0077360        1       i   f       o   d   d       o   r       3       i
0077400    f       e   v   e   n   )       +       (   3       i   f    
0077420    f   p   F   r   a   c   L       c   a   r   r   i   e   s    
0077440    r   o   u   n   d   i   n   g     376 001  \0 345 006   u   p
0077460   \r   (   +   5       i   f       f   p   F   r   a   c   H    
0077500    a   l   s   o       c   a   r   r   i   e   s   )   )   .  \r
0077520    T   h   e       n   u   m   b   e   r       o   f       n   o
0077540    r   m   a   l   i   z   i   n   g       s   t   e   p   s    
0077560    w   i   l   l       b   e   :  \r  \t   0       f   o   r    
0077600    F   D   i   v       o   r       F   S   q   R   t  \r  \t   1
0077620        f   o   r       F   S   c       (   s   t   a   r   t   i
0077640    n   g       a   t       N   o   r   m   G   o   )   ;  \r  \t
0077660    0       o   r       1       f   o   r       F   M   u   l   ;
0077700   \r  \t   0       o   r       1       f   o   r       F   A   d
0077720    d   /   F   S   u   b       i   f       s   i   g   n   s    
0077740    a   r   e       t   h   e       s   a   m   e   ;  \r  \t   1
0077760        t   o       2   4   d       f   o   r       F   A   d   d
0100000    /   F   S   u   b       i   f       s   i   g   n   s       d
0100020    i   f   f   e   r       (   s   t   a   r   t   i   n   g    
0100040    a   t       N   o   r   m   G   o   )   ;  \r  \t   0 376 001
0100060   \0   p 243       t   o       1   5   d       s   t   e   p   s
0100100        f   o   r       F   l   o   a   t   .  \r   %  \r  \r   N
0100120    o   r   m   S   t   e   p   :  \t   *   O   n   l   y       R
0100140    e   n   o   r   m       a   n   d       c   o   p   y       o
0100160    f       R   e   n   o   r   m       i   n       F   l   o   a
0100200    t       j   u   m   p       t   o       N   o   r   m   S   t
0100220    e   p   .  \r  \t   S   B   [   f   p   E   x   p   S   i   g
0100240    n   ]       _       S   B   [   f   p   E   x   p   S   i   g
0100260    n   ]       -       (   2   0   0   C   )   ;  \r   L   o   n
0100300    g   N   o   r   m   G   o   :  \t   *   O   d   d       p   l
0100320    a   c   e   m   e   n   t   ;       p   a   i   r   e   d    
0100340    w   i   t   h       m   i       a   t       S   u   b   N   o
0100360    n   N   e   g   +   1   .  \r   N   o   r   m   G   o   :  \t
0100400    S   B   [   f   p   F   r   a   c   L   ]       _       S   B
0100420    [   f   p   F   r   a   c   L   ]       S   A   L   U   F   O
0100440    P       T   ,       T   a   s   k   ;  \r  \t   S   B   [   f
0100460    p   F   r 376 001  \0 333 267   a   c   H   ]       _       S
0100500    B   [   f   p   F   r   a   c   H   ]       S   A   L   U   F
0100520    O   P       T   ,       U   s   e   C   O   u   t   A   s   C
0100540    I   n   ;  \r   *   E   v   e   n       p   l   a   c   e   m
0100560    e   n   t   ;       p   a   i   r   e   d       w   i   t   h
0100600        m   i       a   t       M   u   l   D   o   n   e   +   2
0100620    .  \r   R   e   n   o   r   m   :  \t   T       _       L   S
0100640    h   [   S   B   [   f   p   F   r   a   c   H   ]   ,   1   0
0100660    ]   ,       G   o   T   o   [   N   o   r   m   S   t   e   p
0100700    ,   R   >   =   0   ]   ;  \r   %   -   -   -   -   -  \r   P
0100720    a   c   k   :  \t   D   i   s   p   a   t   c   h   [   f   p
0100740    S   t   i   c   k   y   ,   4   ,   2   ]   ;  \t   *   D   i
0100760    s   p   a   t   c   h       o   n       r   o   u   n   d   i
0101000    n   g       m   o   d   e  \r  \t   L   U       _       S   B
0101020    [   f   p   F   r   a   c   L   ]       a   n   d       (   1
0101040    7   7   C   )   ,       D   i   s   p   [   .   +   1   ]   ;
0101060   \r   *   R   o   u   n   d     376 001  \0   ) 337   t   o    
0101100    n   e   a   r   e   s   t   :           T   e   s   t       s
0101120    t   i   c   k   y       b   i   t   s   ;       b   e   g   i
0101140    n       a   s   s   u   m   i   n   g       s   t   i   c   k
0101160    y       b   i   t   s       .   n   e   .       0  \r  \t   S
0101200    B   [   f   p   F   r   a   c   L   ]       _       S   B   [
0101220    f   p   F   r   a   c   L   ]       +       (   2   0   0   C
0101240    )   ,       D   b   l   G   o   T   o   [   R   n   d   E   x
0101260    ,   R   n   d   N   r   ,   A   L   U   =   0   ]   ,       D
0101300    i   s   p   T   a   b   l   e   [   4   ]   ;  \r  \t   T    
0101320    _       S   S   t   k   P   ,       G   o   T   o   [   F   l
0101340    o   a   t   T   r   p   1   ]   ;  \t   *   T   r   u   n   c
0101360    a   t   e       (   i   .   e   .   ,       r   o   u   n   d
0101400        t   o   w   a   r   d       0   )  \r  \t   T       _    
0101420    S   S   t   k   P   ,       G   o   T   o   [   F   l   o   a
0101440    t   T   r   p   1   ]   ;  \t   *   R   o   u   n   d       t
0101460    o   w   a   r   d       p   l   u   s       i   n 376 001  \0
0101500    H 321   f   i   n   i   t   y  \r  \t   T       _       S   S
0101520    t   k   P   ,       G   o   T   o   [   F   l   o   a   t   T
0101540    r   p   1   ]   ;  \t   *   R   o   u   n   d       t   o   w
0101560    a   r   d       m   i   n   u   s       i   n   f   i   n   i
0101600    t   y  \r   -   -   -   -   -   %  \r   P   a   c   k   :  \t
0101620    L   U       _       S   B   [   f   p   F   r   a   c   L   ]
0101640        a   n   d       (   1   7   7   C   )   ;  \r   *   R   o
0101660    u   n   d       t   o       n   e   a   r   e   s   t   :    
0101700        T   e   s   t       s   t   i   c   k   y       b   i   t
0101720    s   ;       b   e   g   i   n       a   s   s   u   m   i   n
0101740    g       s   t   i   c   k   y       b   i   t   s       .   n
0101760    e   .       0  \r  \t   S   B   [   f   p   F   r   a   c   L
0102000    ]       _       S   B   [   f   p   F   r   a   c   L   ]    
0102020    +       (   2   0   0   C   )   ,       D   b   l   G   o   T
0102040    o   [   R   n   d   E   x   ,   R   n   d   N   r   ,   A   L
0102060    U   =   0   ]   ;      \r  \r  \t  \t   *   A   s   s   u   m
0102100    p   t 376 001  \0   _ 325   i   o   n       c   o   r   r   e
0102120    c   t   -   -   c   o   n   t   i   n   u   e       r   o   u
0102140    n   d   i   n   g   .  \r   R   n   d   N   r   :  \t   S   B
0102160    [   f   p   F   r   a   c   H   ]       _       S   B   [   f
0102200    p   F   r   a   c   H   ]       +       1   ,       U   s   e
0102220    C   O   u   t   A   s   C   I   n   ,       D   b   l   G   o
0102240    T   o   [   R   n   d   U   p   ,   I   n   e   x   a   c   t
0102260    ,   C   a   r   r   y   ]   ;  \r  \t  \t   *   A   s   s   u
0102300    m   p   t   i   o   n       w   r   o   n   g   -   -   a   l
0102320    l       s   t   i   c   k   y       b   i   t   s       a   r
0102340    e       0   -   -   f   i   x   u   p       r   e   s   u   l
0102360    t   .  \r   R   n   d   E   x   :  \t   D   i   s   p   a   t
0102400    c   h   [   S   B   [   f   p   F   r   a   c   L   ]   ,   7
0102420    ,   3   ]   ,       S   k   i   p   [   C   a   r   r   y   '
0102440    ]   ;  \r   *   I   f       c   a   r   r   y       o   c   c
0102460    u   r   r   e   d   ,       t   h   e   n       t   h   e    
0102500    n   u   m   b   e   r     376 001  \0 232 263   w   a   s    
0102520    e   x   a   c   t   l   y       h   a   l   f   w   a   y    
0102540    b   e   t   w   e   e   n       a   n       o   d   d  \r   *
0102560    n   u   m   b   e   r       a   n   d       t   h   e       n
0102600    e   x   t       h   i   g   h   e   r       e   v   e   n    
0102620    n   u   m   b   e   r   ,       a   n   d       i   t       i
0102640    s       n   o   w       c   o   r   r   e   c   t   l   y    
0102660    r   o   u   n   d   e   d   .  \r  \t           S   B   [   f
0102700    p   F   r   a   c   H   ]       _       S   B   [   f   p   F
0102720    r   a   c   H   ]       +       1   ,       G   o   T   o   [
0102740    R   n   d   U   p   ]   ;  \r  \t   D   i   s   p   [   .   +
0102760    1   ]   ;  \r   I   n   e   x   a   c   t   :  \t  \t   *    
0103000    [   0   ]       W   a   s       h   a   l   f   w   a   y    
0103020    a   n   d       o   d   d   -   -   n   o   w       f   i   x
0103040    e   d       u   p   .  \r   *  \t   f   p   S   t   i   c   k
0103060    y       _       (   f   p   S   t   i   c   k   y   )       o
0103100    r       (   1   C   )   ,       D   b   l   G 376 001  \0   !
0103120   \a   o   T   o   [   I   n   e   x   a   c   t   T   r   a   p
0103140    ,   I   n   e   x   a   c   t   N   o   T   r   a   p   ,   R
0103160    <   0   ]   ,       A   t   [   R   o   u   n   d   D   i   s
0103200    p   ,   0   ]   ;  \r  \t   g   o   t   o   [   I   n   e   x
0103220    a   c   t   N   o   T   r   a   p   ]   ,       A   t   [   R
0103240    o   u   n   d   D   i   s   p   ,   0   ]   ;  \r  \t  \t   *
0103260        [   2   ]       W   a   s       e   x   a   c   t       a
0103300    n   d       e   v   e   n   -   -   a   d   d   i   n   g    
0103320    2   0   0   b       d   i   d   n   '   t       a   f   f   e
0103340    c   t       i   t   .  \r  \t   L   U       _       S   B   [
0103360    f   p   E   x   p   S   i   g   n   ]       +       (   4   0
0103400    0   C   )   ,       D   b   l   G   o   T   o   [   O   v   e
0103420    r   U   n   d   e   r   f   l   o   w   ,   P   a   c   k   2
0103440    ,   R   <   0   ]   ,       A   t   [   R   o   u   n   d   D
0103460    i   s   p   ,   2   ]   ;  \r  \t  \t   *       [   4   ]    
0103500    W   a   s       h   a   l   f   w   a   y       b   e   t   e
0103520    e 376 001  \0   0 327   n       e   v   e   n       &       n
0103540    e   x   t       h   i   g   h   e   r       o   d   d   -   -
0103560    u   n   d   o       +   2   0   0   b   .  \r  \t   S   B   [
0103600    f   p   F   r   a   c   L   ]       _       S   B   [   f   p
0103620    F   r   a   c   L   ]       -       (   2   0   0   C   )   ,
0103640        G   o   T   o   [   I   n   e   x   a   c   t   ]   ,    
0103660    A   t   [   R   o   u   n   d   D   i   s   p   ,   4   ]   ;
0103700   \r  \r   R   n   d   U   p   :  \t   T       _       L   S   h
0103720    [   S   B   [   f   p   F   r   a   c   H   ]   ,   1   0   ]
0103740    ,       G   o   T   o   [   .   +   3   ,   C   a   r   r   y
0103760    '   ]   ;  \r   *   A   d   d   i   n   g       4   0   0   b
0104000        t   o       S   B   [   f   p   E   x   p   S   i   g   n
0104020    ]       h   e   r   e       w   h   i   l   e       l   e   a
0104040    v   i   n   g       S   B   [   f   p   F   r   a   c   H   ]
0104060        .   e   q   .       0       w   o   r   k   s  \r   *   e
0104100    x   c   e   p   t       w   h   e   n       e   x   p   o   n
0104120    e   n   t       i   s 376 001  \0 344   8       3   7   6   b
0104140    -   -   f   a   l   s   e       o   v   e   r   f   l   o   w
0104160        g   e   t   s       g   e   n   e   r   a   t   e   d   .
0104200   \r  \t           S   B   [   f   p   E   x   p   S   i   g   n
0104220    ]       _       S   B   [   f   p   E   x   p   S   i   g   n
0104240    ]       +       (   2   0   0   C   )   ;  \r  \t           S
0104260    B   [   f   p   F   r   a   c   H   ]       _       1   0   0
0104300    0   0   0   C   ;  \r   *   *   *   *  \t   f   p   S   t   i
0104320    c   k   y       _       (   f   p   S   t   i   c   k   y   )
0104340        o   r       (   1   C   )   ,       G   o   T   o   [   I
0104360    n   e   x   a   c   t   T   r   a   p   ,   R   <   0   ]   ;
0104400   \r   I   n   e   x   a   c   t   N   o   T   r   a   p   :  \t
0104420    *       [   6   ]       W   a   s       e   x   a   c   t    
0104440    a   n   d       o   d   d   .  \r  \t   L   U       _       S
0104460    B   [   f   p   E   x   p   S   i   g   n   ]       +       (
0104500    4   0   0   C   )   ,       D   b   l   G   o   T   o   [   O
0104520    v   e   r   U   n   d   e   r   f   l   o 376 001  \0 373   Y
0104540    w   ,   P   a   c   k   2   ,   R   <   0   ]   ,       A   t
0104560    [   R   o   u   n   d   D   i   s   p   ,   6   ]   ;  \r  \r
0104600    P   a   c   k   2   :  \t   T       _       (   R   S   h   [
0104620    S   B   [   f   p   F   r   a   c   L   ]   ,   1   0   ]   )
0104640        o   r       T   ,       G   o   T   o   [   O   v   e   r
0104660    f   l   o   w   ,   A   L   U   <   0   ]   ;  \r   :   I   F
0104700    [   P   a   c   k   I   n   L   i   n   e   ]   ;  \r  \t   R
0104720    e   s   u   l   t   1   L   o       _       T   ;  \r  \t   T
0104740        _       S   B   [   f   p   E   x   p   S   i   g   n   ]
0104760        a   n   d       n   o   t       (   1   7   7   C   )   ,
0105000        T   a   s   k   ;  \r   *   S   i   m   u   l   t   a   n
0105020    e   o   u   s   l   y       o   f   f   s   e   t       t   h
0105040    e       e   x   p   o   n   e   n   t       b   y       1    
0105060    w   h   i   l   e       O   R   '   i   n   g       i   n    
0105100    t   h   e       f   r   a   c   t   i   o   n   .  \r  \t   T
0105120        _       (   L   d   F   [   S   B   [   f   p   F   r   a
0105140  376 001  \0   " 035   c   H   ]   ,   0   ,   1   0   ]   )    
0105160    +       T   ;  \r  \t   T       _       (   L   S   h   [   S
0105200    B   [   f   p   E   x   p   S   i   g   n   ]   ,   1   7   ]
0105220    )       o   r       T   ;  \r   P   a   c   k   A   :  \t   S
0105240    t   a   c   k   &   +   2   ;  \t  \t  \t   *       S   e   t
0105260        s   t   a   c   k       c   o   r   r   e   c   t   l   y
0105300   \r  \t   R   e   s   u   l   t   1   H   i       _       T   ,
0105320        l   o   a   d   p   a   g   e   [   o   p   P   a   g   e
0105340    0   ]   ;  \t   *       C   r   e   a   t   e       a       n
0105360    e   w       F   l   o   a   t   p       c   e   l   l  \r  \t
0105400    q   B   u   f       _       l   s   h   i   f   t   [   F   l
0105420    o   a   t   p   T   y   p   e   !   ,       4   ]   c   ,    
0105440    c   a   l   l   p   [   D   o   C   r   e   a   t   e   C   e
0105460    l   l   ]   ;  \r  \t   P   S   t   o   r   e   2   [   l   s
0105500    p   G   e   n   B   r   ,       R   e   s   u   l   t   1   H
0105520    i   ,       0   ]   ;  \t   *       C   a   n   '   t       f
0105540    a   u   l   t     376 001  \0   N   G   n   o   w  \r  \t   l
0105560    o   a   d   p   a   g   e   [   p   g   R   p   l   P   t   r
0105600    ]   ;  \r  \t   S   t   k   S   t   a   t   e       _       r
0105620    s   h   [   S   t   k   S   t   a   t   e   ,       1   ]   ,
0105640        g   o   t   o   p   [   G   c   E   x   i   t   ]   ;  \r
0105660   \r   :   E   L   S   E   ;  \r  \t   S   t   a   c   k   &   +
0105700    1       _       (   s   m   a   l   l   p   l   )   ;  \t   *
0105720        S   t   a   r   t       p   u   s   h   i   n   g       t
0105740    w   o       s   m   a   l   l   p   s       a   s       r   e
0105760    s   u   l   t  \r  \t   S   t   a   c   k   &   +   3       _
0106000        T   ;  \t  \t  \t   *   P   u   s   h       l   o   w   -
0106020    o   r   d   e   r       r   e   s   u   l   t       w   o   r
0106040    d  \r  \t   T       _       S   B   [   f   p   E   x   p   S
0106060    i   g   n   ]       a   n   d       n   o   t       (   1   7
0106100    7   C   )   ,       T   a   s   k   ;  \r   *   S   i   m   u
0106120    l   t   a   n   e   o   u   s   l   y       o   f   f   s   e
0106140    t       t   h   e       e   x   p   o 376 001  \0 372 314   n
0106160    e   n   t       b   y       1       w   h   i   l   e       O
0106200    R   '   i   n   g       i   n       t   h   e       f   r   a
0106220    c   t   i   o   n   .  \r  \t   T       _       (   L   d   F
0106240    [   S   B   [   f   p   F   r   a   c   H   ]   ,   0   ,   1
0106260    0   ]   )       +       T   ;  \r   *   P   u   s   h       h
0106300    i   g   h   -   o   r   d   e   r       r   e   s   u   l   t
0106320        &       e   x   i   t  \r   *   *   P   a   c   k   A   :
0106340   \t   T       _       (   L   S   h   [   S   B   [   f   p   E
0106360    x   p   S   i   g   n   ]   ,   1   7   ]   )       o   r    
0106400    T   ;  \r  \t   T       _       (   L   S   h   [   S   B   [
0106420    f   p   E   x   p   S   i   g   n   ]   ,   1   7   ]   )    
0106440    o   r       T   ;  \r   P   a   c   k   A   :  \t   S   t   a
0106460    c   k   &   -   2       _       T   ;  \t  \t   *       h   i
0106500    -   o   r   d   e   r       r   e   s   u   l   t       w   o
0106520    r   d  \r  \t   S   t   a   c   k   &   +   1       _       (
0106540    s   m   a   l   l   p   l   )   ;  \t   *       F   i   n 376
0106560  001  \0 357   B   i   s   h       s   m   a   l   l       b   o
0106600    x   i   n   g  \r  \t   l   s   p   D   e   f   x   1       _
0106620        L   o   A   [   M   a   k   e   F   l   o   a   t   N   u
0106640    m   b   e   r   !   ]   ;  \r  \t   l   s   p   N   a   r   g
0106660    s       _       2   c   ;  \r  \t   S   t   a   c   k   &   +
0106700    1   ,       l   o   a   d   p   a   g   e   [   p   g   F   r
0106720    a   m   e   ]   ;  \r  \t   l   s   p   D   e   f   x   1    
0106740    _       (   l   s   p   D   e   f   x   1   )       o   r    
0106760    (   H   i   A   [   M   a   k   e   F   l   o   a   t   N   u
0107000    m   b   e   r   !   ]   )   ,       g   o   t   o   p   [   l
0107020    s   p   C   a   l   l   F   n   0   ]   ;  \r   :   E   N   D
0107040    I   F   ;  \r  \f  \r   %   I   m   p   r   o   v   e   m   e
0107060    n   t       f   o   r       F   l   o   a   t       a   n   d
0107100        F   A   d   d   /   F   S   u   b       w   i   t   h    
0107120    d   i   f   f   e   r   e   n   t       s   i   g   n   s   .
0107140   \r   T   i   m   i   n   g   :       1   2   /   t   r   i   s
0107160    t   e   p     376 001  \0 311   E   +       (   5   ,       1
0107200    0   ,       o   r       1   4       f   o   r       t   h   e
0107220        e   x   i   t       0   ,       1   ,       o   r       2
0107240        s   t   e   p       c   a   s   e   s   )   .  \r   T   h
0107260    i   s       i   s       2       s   l   o   w   e   r       f
0107300    o   r       0       s   t   e   p   s   ,       1       f   a
0107320    s   t   e   r       f   o   r       1       s   t   e   p   ,
0107340        a   n   d       5       f   a   s   t   e   r       f   o
0107360    r       2       s   t   e   p   s   ;  \r   m   u   c   h    
0107400    f   a   s   t   e   r       f   o   r       l   o   n   g   e
0107420    r       n   o   r   m   a   l   i   z   a   t   i   o   n   s
0107440    .           R   e   n   o   r   m       g   o   e   s       1
0107460        f   a   s   t   e   r       i   f       a   l   l       p
0107500    l   a   c   e   s  \r   w   h   i   c   h       m   i   g   h
0107520    t       u   s   e       m   o   r   e       t   h   a   n    
0107540    1       N   o   r   m   S   t   e   p       j   u   m   p    
0107560    t   o       L   o   n   g   N   o 376 001  \0 241 214   r   m
0107600    .  \r  \r   L   o   n   g   N   o   r   m   :  \r  \t   D   i
0107620    s   p   a   t   c   h   [   S   B   [   f   p   F   r   a   c
0107640    H   ]   ,   1   ,   2   ]   ,       G   o   T   o   [   P   a
0107660    c   k   L   ,   R   <   0   ]   ;  \r  \t   S   B   [   f   p
0107700    E   x   p   S   i   g   n   ]       _       S   B   [   f   p
0107720    E   x   p   S   i   g   n   ]       -       (   2   0   0   C
0107740    )   ,       D   i   s   p   [   .   +   1   ]   ;  \r   N   o
0107760    r   m   3   :  \t   T       _       R   S   h   [   S   B   [
0110000    f   p   F   r   a   c   L   ]   ,   1   5   ]   ,       A   t
0110020    [   x   ,   0   ]   ;  \r  \t   S   B   [   f   p   F   r   a
0110040    c   L   ]       _       L   S   h   [   S   B   [   f   p   F
0110060    r   a   c   L   ]   ,   3   ]   ,       T   a   s   k   ;  \r
0110100   \t   S   B   [   f   p   F   r   a   c   H   ]       _       (
0110120    L   S   h   [   S   B   [   f   p   F   r   a   c   H   ]   ,
0110140    3   ]   )       o   r       T   ;  \r  \t   S   B   [   f   p
0110160    E   x   p   S   i   g   n   ]       _       S   B   [ 376 001
0110200   \0   D   K   f   p   E   x   p   S   i   g   n   ]       -    
0110220    (   4   0   0   C   )   ,       G   o   T   o   [   L   o   n
0110240    g   N   o   r   m   ]   ;  \r   N   o   r   m   2   :  \t   T
0110260        _       R   S   h   [   S   B   [   f   p   F   r   a   c
0110300    L   ]   ,   1   6   ]   ,       A   t   [   x   ,   1   ]   ;
0110320   \r  \t   S   B   [   f   p   F   r   a   c   L   ]       _    
0110340    L   S   h   [   S   B   [   f   p   F   r   a   c   L   ]   ,
0110360    2   ]   ;  \r  \t   S   B   [   f   p   F   r   a   c   H   ]
0110400        _       (   L   S   h   [   S   B   [   f   p   F   r   a
0110420    c   H   ]   ,   2   ]   )       o   r       T   ;  \r  \t   S
0110440    B   [   f   p   E   x   p   S   i   g   n   ]       _       S
0110460    B   [   f   p   E   x   p   S   i   g   n   ]       -       (
0110500    2   0   0   C   )   ,       G   o   T   o   [   P   a   c   k
0110520    L   ]   ;  \r   N   o   r   m   G   o   :  \t   S   B   [   f
0110540    p   F   r   a   c   L   ]       _       S   B   [   f   p   F
0110560    r   a   c   L   ]       S   A   L   U   F   O   P       T   ,
0110600        S   k 376 001  \0 322   4   i   p   ,       A   t   [   x
0110620    ,   2   ]   ;  \r  \t   S   B   [   f   p   F   r   a   c   L
0110640    ]       _       S   B   [   f   p   F   r   a   c   L   ]    
0110660    S   A   L   U   F   O   P       T   ,       A   t   [   x   ,
0110700    3   ]   ;  \r   P   a   c   k   L   :  \t   T       _       L
0110720    S   h   [   S   B   [   f   p   F   r   a   c   H   ]   ,   1
0110740    0   ]   ,       G   o   T   o   [   P   a   c   k   ]   ;  \r
0110760   \r   N   o   r   m   S   t   e   p   :  \r  \t   S   B   [   f
0111000    p   E   x   p   S   i   g   n   ]       _       S   B   [   f
0111020    p   E   x   p   S   i   g   n   ]       -       (   2   0   0
0111040    C   )   ,       G   o   T   o   [   N   o   r   m   G   o   ]
0111060    ;  \r   %  \r  \r  \r   %   N   e   g   F   r   a   c       p
0111100    e   r   f   o   r   m   s       a       2   '   s       c   o
0111120    m   p   l   e   m   e   n   t       n   e   g   a   t   i   o
0111140    n       o   n       S   B   [   f   p   F   r   a   c   H   ]
0111160    ,   ,   S   B   [   f   p   F   r   a   c   L   ]       a   n
0111200    d  \r   r   e   t   u   r   n 376 001  \0     274   s       t
0111220    h   e       n   e   w       S   B   [   f   p   F   r   a   c
0111240    L   ]       i   n       T   .  \r  \r   T   i   m   i   n   g
0111260    :       6       c   y   c   l   e   s       i   f       S   B
0111300    [   f   p   F   r   a   c   L   ]       i   s       0   ,    
0111320    e   l   s   e       7       c   y   c   l   e   s   .  \r   %
0111340   \r   N   e   g   F   r   a   c   :  \r  \t   T       _       S
0111360    B   [   f   p   F   r   a   c   L   ]   ;  \r   N   e   g   F
0111400    r   a   c   1   :  \r  \t   S   B   [   f   p   F   r   a   c
0111420    H   ]       _       S   B   [   f   p   F   r   a   c   H   ]
0111440        x   n   o   r       (   0   C   )   ,       S   k   i   p
0111460    [   A   L   U   =   0   ]   ;  \r  \t           T       _    
0111500    S   B   [   f   p   F   r   a   c   L   ]       _       (   Z
0111520    e   r   o   )       -       T   ,       R   e   t   u   r   n
0111540    ;  \r  \t   S   B   [   f   p   F   r   a   c   H   ]       _
0111560        S   B   [   f   p   F   r   a   c   H   ]       +       1
0111600    ,       R   e   t   u   r   n   ;  \r  \r  \r   % 376 001  \0
0111620    >   w   R   o   u   n   d   C   a   r   d       r   o   u   n
0111640    d   s       S   B   [   f   p   F   r   a   c   H   ]   ,   ,
0111660    T       u   s   i   n   g       M   N   B   R   [   0   ]    
0111700    a   s       r   o   u   n   d   i   n   g       b   i   t    
0111720    a   n   d  \r   M   N   B   R   [   1   :   1   7   b   ]    
0111740    a   s       s   t   i   c   k   y       b   i   t   s   ;    
0111760    T       i   s       u   n   c   h   a   n   g   e   d       i
0112000    f       n   o       r   o   u   n   d   i   n   g       o   c
0112020    c   u   r   s   ,       o   r       c   o   n   t   a   i   n
0112040    s  \r   t   h   e       n   e   w       S   B   [   f   p   F
0112060    r   a   c   L   ]       i   f       r   o   u   n   d   i   n
0112100    g       o   c   c   u   r   s   .  \r  \r   T   i   m   i   n
0112120    g   :       4       i   f       e   x   a   c   t   ,       1
0112140    2       i   f       s   t   i   c   k   y       b   i   t   s
0112160        .   n   e   .       0   ,       1   3       i   f       s
0112200    t   i   c   k   y       b   i   t   s       .   e   q   .    
0112220    0   . 376 001  \0   ` 377  \r   %  \r  \r   :   I   F   [   0
0112240    ]   ;       *   *   *   *   *   *   *   *   *   *  \r   R   o
0112260    u   n   d   C   a   r   d   :  \r  \t   L   U       _       (
0112300    M   N   B   R   )       S   A   L   U   F   O   P       T   ,
0112320        S   k   i   p   [   A   L   U   #   0   ]   ;  \r  \t    
0112340        R   e   t   u   r   n   ;  \t   *   E   x   a   c   t  \r
0112360    *   R   o   u   n   d       u   p       i   f       h   a   l
0112400    f   w   a   y       a   n   d       s   t   i   c   k   y    
0112420    b   i   t   s       n   o   n   -   0   .  \r  \t   T       _
0112440        (   R   Z   e   r   o   )       +       T   ,       U   s
0112460    e   C   O   u   t   A   s   C   I   n   ,       S   k   i   p
0112500    [   A   L   U   =   0   ]   ;  \r  \t           S   B   [   f
0112520    p   F   r   a   c   H   ]       _       S   B   [   f   p   F
0112540    r   a   c   H   ]       +       1   ,       U   s   e   C   O
0112560    u   t   A   s   C   I   n   ,       G   o   T   o   [   C   I
0112600    n   e   x   a   c   t   ]   ;  \r   *   S   t   i   c   k   y
0112620        b   i   t   s       a 376 001  \0   / 277   l   l       0
0112640    ,       r   o   u   n   d   i   n   g       b   i   t       1
0112660    :       r   o   u   n   d       u   p       i   f       o   d
0112700    d   ,       d   o   w   n       i   f       e   v   e   n   ,
0112720        b   u   t       j   u   s   t  \r   *   a   d   d   e   d
0112740        1   ,       s   o       r   e   s   u   l   t       i   s
0112760        c   o   r   r   e   c   t       i   f       S   B   [   f
0113000    p   F   r   a   c   L   ]       n   o   w       e   v   e   n
0113020    ,       e   l   s   e       1       t   o   o       b   i   g
0113040    .  \r  \t   S   B   [   f   p   F   r   a   c   H   ]       _
0113060        S   B   [   f   p   F   r   a   c   H   ]       +       1
0113100    ,       U   s   e   C   O   u   t   A   s   C   I   n   ;  \r
0113120   \t   T       _       (   F   o   r   m   -   2   [   A   l   l
0113140    O   n   e   s   ]   )       a   n   d       T   ;  \r   C   I
0113160    n   e   x   a   c   t   :  \r  \t   g   o   t   o   [   C   I
0113200    n   e   x   a   c   t   O   K   ]   ;  \r   *   *   *   *   *
0113220   \t   f   p   S   t   i   c   k   y       _     376 001  \0 310
0113240  234   (   f   p   S   t   i   c   k   y   )       o   r       (
0113260    1   C   )   ,       D   b   l   G   o   T   o   [   I   n   e
0113300    x   a   c   t   T   r   a   p   A   ,   C   I   n   e   x   a
0113320    c   t   O   K   ,   R   <   0   ]   ;  \r   :   E   N   D   I
0113340    F   ;       *   *   *   *   *   *   *   *   *  \r  \f  \r   %
0113360    U   n   n   o   r   m       r   i   g   h   t   -   s   h   i
0113400    f   t   s       t   h   e       f   r   a   c   t   i   o   n
0113420        D   B   [   f   p   F   r   a   c   H   /   L   ]       b
0113440    y       f   p   T   e   m   p   [   1   :   8   ]       p   o
0113460    s   i   t   i   o   n   s       w   i   t   h  \r   u   n   d
0113500    e   r   f   l   o   w       g   o   i   n   g       i   n   t
0113520    o       M   N   B   R   .           M   N   B   R   [   1   :
0113540    1   5   ]       a   r   e       s   t   i   c   k   y       b
0113560    i   t   s   .  \r  \r   U   n   n   o   r   m       i   s    
0113600    c   a   l   l   e   d       o   n       F   A   d   d   ,    
0113620    F   S   u   b   ,       F   i   x   ,       F   i   x   I   ,
0113640      376 001  \0 300 347   F   i   x   C   ,       R   o   u   n
0113660    d   ,       R   o   u   n   d   I   ,       a   n   d       R
0113700    o   u   n   d   C   .  \r   O   n       F   A   d   d       a
0113720    n   d       F   S   u   b   ,       i   t       r   i   g   h
0113740    t   -   s   h   i   f   t   s       t   h   e       f   r   a
0113760    c   t   i   o   n       o   f       t   h   e       n   u   m
0114000    b   e   r       w   i   t   h       t   h   e       s   m   a
0114020    l   l   e   r  \r   e   x   p   o   n   e   n   t       b   y
0114040        a   n       a   m   o   u   n   t       e   q   u   a   l
0114060        t   o       t   h   e       d   i   f   f   e   r   e   n
0114100    c   e       i   n       t   h   e       e   x   p   o   n   e
0114120    n   t   s   ,       s   o       t   h   a   t       t   h   e
0114140   \r   f   r   a   c   t   i   o   n   s       c   a   n       b
0114160    e       a   d   d   e   d   .           O   n       F   i   x
0114200        o   r       R   o   u   n   d   ,       i   t       s   h
0114220    i   f   t   s       t   h   e       f   r   a   c   t   i   o
0114240    n       s   o       t 376 001  \0 357 020   h   a   t       i
0114260    t   s  \r   e   x   p   o   n   e   n   t       c   a   n    
0114300    b   e       m   a   d   e       2   3   5   b   ,       w   h
0114320    i   c   h       p   o   s   i   t   i   o   n   s       t   h
0114340    e       d   e   c   i   m   a   l       p   o   i   n   t    
0114360    t   o       t   h   e       r   i   g   h   t  \r   o   f    
0114400    f   p   F   r   a   c   L       b   i   t       1   5   d   .
0114420   \r  \r   U   s   e       o   f       M   N   B   R       t   o
0114440        c   a   p   t   u   r   e       u   n   d   e   r   f   l
0114460    o   w       a   n   d       t   h   e       3   7   b       m
0114500    a   x   i   m   u   m       s   h   i   f   t       i   s    
0114520    n   e   e   d   e   d       f   o   r  \r   F   i   x   /   R
0114540    o   u   n   d   ,       w   h   i   c   h       u   s   e    
0114560    M   N   B   R   [   0   ]       f   o   r       r   o   u   n
0114600    d   i   n   g       a   n   d       M   N   B   R   [   1   :
0114620    1   5   d   ]       a   s       s   t   i   c   k   y       b
0114640    i   t   s   .  \r   F   A   d   d   /   F 376 001  \0 006   F
0114660    S   u   b       w   o   r   s   t       c   a   s   e       i
0114700    s       w   h   e   n       s   i   g   n   s       d   i   f
0114720    f   e   r       a   n   d       s   u   b   t   r   a   c   t
0114740    i   o   n       o   f       f   r   a   c   t   i   o   n   s
0114760   \r   n   e   c   e   s   s   i   t   a   t   e   s       t   w
0115000    o       n   o   r   m   a   l   i   z   a   t   i   o   n    
0115020    s   t   e   p   s       a   f   t   e   r   w   a   r   d   s
0115040    ;       i   n       t   h   i   s       c   a   s   e       D
0115060    B   [   f   p   F   r   a   c   L   ]       b   i   t  \r   1
0115100    0   d       w   i   l   l       b   e   c   o   m   e       t
0115120    h   e       r   o   u   n   d   i   n   g       b   i   t   ,
0115140        s   o       a       m   a   x   i   m   u   m       s   h
0115160    i   f   t       o   f       3   1   b       s   u   f   f   i
0115200    c   e   s   ,       M   N   B   R       i   s  \r   n   o   t
0115220        n   e   e   d   e   d   ,       a   n   d       u   n   d
0115240    e   r   f   l   o   w   i   n   g       b   i   t   s       c
0115260  376 001  \0 035   ?   a   n       r   e   s   u   l   t       i
0115300    n       O   R   '   i   n   g       i   n   t   o       a   n
0115320    y       o   f       D   B   [   f   p   F   r   a   c   L   ]
0115340   \r   b   i   t   s       1   1   d       t   o       1   5   d
0115360    .  \r  \r   T   i   m   i   n   g   :       8       c   y   c
0115400    l   e   s       i   f       s   h   i   f   t       c   o   u
0115420    n   t       .   g   e   .       4   0   b       (   i   .   e
0115440    .   ,       t   h   e       l   e   a   d   i   n   g       f
0115460    r   a   c   t   i   o   n       b   i   t       i   n  \r   D
0115500    B   [   f   p   F   r   a   c   H   ]       b   i   t       1
0115520        i   s       s   h   i   f   t   e   d       f   u   r   t
0115540    h   e   r       t   h   a   n       b   i   t       0       o
0115560    f       M   N   B   R   )   ;       1   4       i   f       c
0115600    o   u   n   t       i   s       0   ;  \r   2   5       i   f
0115620        c   o   u   n   t       i   s       1       t   o       1
0115640    7   b   ;       1   6       i   f       c   o   u   n   t    
0115660    i   s       2   0 376 001  \0   N   C   b   ;       o   r    
0115700    2   7       i   f       c   o   u   n   t       i   s       2
0115720    1   b       t   o       3   7   b   .  \r   %  \r  \r   U   n
0115740    n   o   r   m   :  \t   L   U       _       (   f   p   T   e
0115760    m   p   )       -       (   1   0   0   0   0   C   )   ;  \r
0116000   \t   T       _       (   L   d   F   [   f   p   T   e   m   p
0116020    ,   5   ,   4   ]   )       -       1   ,       G   o   T   o
0116040    [   .   +   3   ,   A   L   U   <   0   ]   ;  \r   *   M   o
0116060    r   e       t   h   a   n       t   w   o       w   o   r   d
0116100    s   -   -   a   n   y       v   a   l   u   e       .   l   s
0116120    .       4   0   0   0   0   b       o   k       h   e   r   e
0116140   \r  \t           M   N   B   R       _       R   4   0   0   ,
0116160        B   B   F   B   X   ;  \r  \t           T       _       D
0116200    B   [   f   p   F   r   a   c   H   ]       _       0   C   ,
0116220        R   e   t   u   r   n   ;  \r  \t   f   p   C   C   T   e
0116240    m   p       _       T   ,       B   B   F   B   X   ,       G
0116260    o   T   o   [   U   n   n   o   r   m 376 001  \0 374 324   0
0116300    ,   A   L   U   <   0   ]   ;  \r  \t   C   y   c   l   e   C
0116320    o   n   t   r   o   l       _       f   p   C   C   T   e   m
0116340    p   ;  \r   *   C   y   c   l   e   C   o   n   t   r   o   l
0116360        _       R   S   C   o   u   n   t       -       1   ,    
0116400    s   o       M   W   X       _       R   S   C   o   u   n   t
0116420        -       1       a   n   d       D   B   X       _       0
0116440    .           F   o   r       W   F   A   ,       t   h   i   s
0116460   \r   *   w   i   l   l       l   e   f   t   -   c   y   c   l
0116500    e       b   y       1   7   b       -       D   B   X       -
0116520        M   W   X       (   =       2   0   b       -       R   S
0116540    C   o   u   n   t   )       a   n   d       m   a   s   k    
0116560    w   i   t   h       1   '   s       i   n  \r   *   b   i   t
0116600    s       D   B   X       t   o       M   W   X       (   =    
0116620    0   .   .   (   R   S   C   o   u   n   t       -       1   )
0116640    )   .  \r  \t   f   p   C   C   T   e   m   p       _       1
0116660    6   C   ;  \r  \t   D   i   s   p   a   t   c   h   [   f 376
0116700  001  \0   v   E   p   T   e   m   p   ,   4   ,   1   ]   ;  \r
0116720   \t   f   p   C   C   T   e   m   p       _       (   f   p   C
0116740    C   T   e   m   p   )       -       T   ,       L   o   a   d
0116760    P   a   g   e   [   f   p   P   a   g   e   3   ]   ,       D
0117000    i   s   p   [   .   +   1   ]   ;  \r  \r  \t   M   N   B   R
0117020        _       W   F   A   [   D   B   [   f   p   F   r   a   c
0117040    L   ]   ]   ,       G   o   T   o   P   [   .   +   1   ]   ,
0117060        A   t   [   U   n   n   o   r   m   D   i   s   p   ,   0
0117100    ]   ;  \t   *   1       t   o       1   7   b  \r   O   n   P
0117120    a   g   e   [   f   p   P   a   g   e   3   ]   ;  \r  \t   T
0117140        _       W   F   A   [   D   B   [   f   p   F   r   a   c
0117160    H   ]   ]   ;  \r   *   C   y   c   l   e   C   o   n   t   r
0117200    o   l       _       1   6   b       -       (   R   S   C   o
0117220    u   n   t       m   o   d       2   0   b       -       1   )
0117240    ,       k   n   o   w   i   n   g       R   S   C   o   u   n
0117260    t       i   s       n   o   n   -   z   e   r   o   ,       o
0117300    r  \r   *   D 376 001  \0 223   C   B   X       _       0    
0117320    a   n   d       M   W   X       _       1   7   b       -    
0117340    (   R   S   C   o   u   n   t       m   o   d       2   0   b
0117360    )   .           F   o   r       R   F   ,       t   h   i   s
0117400        l   e   f   t   -   c   y   c   l   e   s       b   y  \r
0117420    *   M   W   X   +   D   B   X   +   1       (   =       2   0
0117440    b       -       R   S   C   o   u   n   t   )       a   n   d
0117460        m   a   s   k   s       w   i   t   h       1   '   s    
0117500    i   n       b   i   t   s       1   7   b   -   M   W   X    
0117520    t   o       1   7   b  \r   *   (   =       R   S   C   o   u
0117540    n   t       m   o   d       2   0   b       t   o       1   7
0117560    b   )   .  \r  \t   C   y   c   l   e   C   o   n   t   r   o
0117600    l       _       f   p   C   C   T   e   m   p   ;  \r  \t   T
0117620        _       (   R   F   [   D   B   [   f   p   F   r   a   c
0117640    L   ]   ]   )       o   r       T   ;  \r  \t   D   B   [   f
0117660    p   F   r   a   c   H   ]       _       R   F   [   D   B   [
0117700    f   p   F   r   a   c   H   ]   ] 376 001  \0   : 033   ,    
0117720    R   e   t   u   r   n   ;  \r  \r   *   2   1   b       t   o
0117740        3   7   b  \r  \t   L   U       _       D   B   [   f   p
0117760    F   r   a   c   L   ]       -       1   ,       L   o   a   d
0120000    P   a   g   e   [   f   p   P   a   g   e   0   ]   ,       G
0120020    o   T   o   P   [   .   +   1   ]   ,       A   t   [   U   n
0120040    n   o   r   m   D   i   s   p   ,   1   ]   ;  \r   O   n   P
0120060    a   g   e   [   f   p   P   a   g   e   3   ]   ;  \t   *    
0120100    +   1       a   l   w   a   y   s       .   e   q   .       o
0120120    r       (   1   C   )       h   e   r   e  \r  \t   T       _
0120140        (   W   F   A   [   D   B   [   f   p   F   r   a   c   H
0120160    ]   ]   )       +       1   ,       U   s   e   C   O   u   t
0120200    A   s   C   I   n   ,       G   o   T   o   P   [   .   +   1
0120220    ]   ;  \r   O   n   P   a   g   e   [   f   p   P   a   g   e
0120240    0   ]   ;  \r  \t   C   y   c   l   e   C   o   n   t   r   o
0120260    l       _       f   p   C   C   T   e   m   p   ,       f   p
0120300    C   C   T   e   m   p       _       T   ,       N   o 376 001
0120320   \0   l 021   R   e   g   I   L   o   c   k   O   K   ;  \r  \t
0120340    M   N   B   R       _       f   p   C   C   T   e   m   p   ;
0120360   \r  \t   T       _       R   F   [   D   B   [   f   p   F   r
0120400    a   c   H   ]   ]   ;  \r   U   n   n   o   r   m   1   :  \r
0120420   \t   D   B   [   f   p   F   r   a   c   H   ]       _       0
0120440    C   ,       R   e   t   u   r   n   ;  \r  \r   U   n   n   o
0120460    r   m   0   :  \r  \t   D   i   s   p   a   t   c   h   [   f
0120500    p   T   e   m   p   ,   4   ,   1   ]   ;  \r  \t   T       _
0120520        M   N   B   R       _       D   B   [   f   p   F   r   a
0120540    c   L   ]   ,       D   i   s   p   [   .   +   1   ]   ;  \r
0120560   \t   M   N   B   R       _       R   Z   e   r   o   ,       R
0120600    e   t   u   r   n   ,       D   i   s   p   T   a   b   l   e
0120620    [   2   ]   ;  \t   *   N   o       s   h   i   f   t  \r  \t
0120640    T       _       D   B   [   f   p   F   r   a   c   H   ]   ,
0120660        G   o   T   o   [   U   n   n   o   r   m   1   ]   ;  \t
0120700    *   S   h   i   f   t       e   x   a   c   t   l   y       1
0120720        w   o 376 001  \0   + 264   r   d  \r  \f  \r   %   F   o
0120740    r       A   l   t   o       M   e   s   a   ,       F   l   o
0120760    a   t   T   r   a   p       e   t       a   l   .       s   t
0121000    o   r   e       a   l   p   h   a       i   n       O   T   P
0121020    R   e   g   ,       s   e   t       T       t   o  \r   s   F
0121040    l   o   a   t   i   n   g   P   o   i   n   t   ,       a   n
0121060    d       g   o       t   o       K   f   c   r       w   h   i
0121100    c   h       t   r   a   p   s       t   o       M   e   s   a
0121120    C   o   d   e       t   o       t   r   y       a   g   a   i
0121140    n  \r   o   n       t   h   i   s       o   p   e   r   a   t
0121160    i   o   n   .           F   o   r       C   e   d   a   r    
0121200    M   e   s   a   ,       t   h   e       p   a   r   a   m   e
0121220    t   e   r       i   s       4   0   0       +       a   l   p
0121240    h   a   .  \r  \r   A   r   r   i   v   e       a   t       O
0121260    v   e   r   U   n   d   e   r   f   l   o   w       f   o   r
0121300        e   x   p   o   n   e   n   t   s       4   0   1   b    
0121320    t   o       7   7   7   b     376 001  \0   @ 001   w   i   t
0121340    h       t   h   e       e   x   p   o   n   e   n   t       f
0121360    i   e   l   d  \r   o   f   f   s   e   t       b   y       -
0121400    1   .           E   x   p   o   n   e   n   t   s       o   f
0121420        0       o   r       o   f       7   7   7   b       d   o
0121440    w   n       t   o       5   7   7   b       r   e   p   r   e
0121460    s   e   n   t       u   n   d   e   r   f   l   o   w   ;  \r
0121500    3   7   7   b       t   o       5   7   6   b       r   e   p
0121520    r   e   s   e   n   t       o   v   e   r   f   l   o   w   .
0121540            O   v   e   r   f   l   o   w       a   l   w   a   y
0121560    s       t   r   a   p   s   .  \r  \r   G   r   a   d   u   a
0121600    l       d   e   n   o   r   m   a   l   i   z   a   t   i   o
0121620    n       i   s       n   o   t       h   a   n   d   l   e   d
0121640        i   n       m   i   c   r   o   c   o   d   e       a   n
0121660    d       t   r   a   p   s   .           A       m   i   c   r
0121700    o   c   o   d   e  \r   i   m   p   l   e   m   e   n   t   a
0121720    t   i   o   n       s   h   o   u   l   d       s 376 001  \0
0121740  033 312   e   n   s   i   b   l   y       h   a   n   d   l   e
0121760        n   o   t       o   n   l   y       d   e   n   o   r   m
0122000    a   l   i   z   e   d       r   e   s   u   l   t   s       b
0122020    u   t       a   l   s   o  \r   d   e   n   o   r   m   a   l
0122040    i   z   e   d       a   r   g   u   m   e   n   t   s   .    
0122060        F   o   r       a   n       u   n   d   e   r   f   l   o
0122100    w   i   n   g       r   e   s   u   l   t   ,       m   i   c
0122120    r   o   c   o   d   e       w   o   u   l   d       f   i   r
0122140    s   t  \r   r   i   g   h   t   -   s   h   i   f   t       t
0122160    h   e       f   r   a   c   t   i   o   n       o   n   e    
0122200    p   o   s   i   t   i   o   n       b   e   c   a   u   s   e
0122220        t   h   e       i   m   p   l   i   c   i   t       l   e
0122240    a   d   i   n   g       1       i   s   n   '   t  \r   t   h
0122260    e   r   e       w   i   t   h       a       z   e   r   o    
0122300    e   x   p   o   n   e   n   t   .           T   h   e   n    
0122320    i   t       w   o   u   l   d       r   i   g   h   t   -   s
0122340    h   i 376 001  \0   r 221   f   t       t   h   e       f   r
0122360    a   c   t   i   o   n       w   h   i   l   e  \r   c   o   u
0122400    n   t   i   n   g       t   h   e       e   x   p   o   n   e
0122420    n   t       u   p       t   o       z   e   r   o   .        
0122440    R   o   u   n   d   i   n   g       w   o   u   l   d       t
0122460    a   k   e       p   l   a   c   e       a   f   t   e   r    
0122500    s   h   i   f   t   i   n   g   ,  \r   a   n   d       t   h
0122520    e       s   p   e   c   i   a   l       c   a   s   e       i
0122540    n       w   h   i   c   h       r   o   u   n   d   i   n   g
0122560        n   o   r   m   a   l   i   z   e   s       t   h   e    
0122600    n   u   m   b   e   r       w   o   u   l   d       b   e    
0122620    d   e   a   l   t  \r   w   i   t   h   .           U   n   p
0122640    a   c   k   i   n   g       w   o   u   l   d       n   o   r
0122660    m   a   l   i   z   e       t   h   e       f   r   a   c   t
0122700    i   o   n       w   h   i   l   e       c   o   u   n   t   i
0122720    n   g       t   h   e       e   x   p   o   n   e   n   t  \r
0122740    t   o       a       n   e 376 001  \0   @ 255   g   a   t   i
0122760    v   e       v   a   l   u   e   .  \r   %  \r   %   -   -   -
0123000    -   -  \r   O   v   e   r   U   n   d   e   r   f   l   o   w
0123020    :  \r  \t   L   U       _       S   B   [   f   p   E   x   p
0123040    S   i   g   n   ]       -       (   1   3   7   4   0   0   C
0123060    )   ;  \t   *   D   i   s   t   i   n   g   u   i   s   h    
0123100    o   v   e   r   f   l   o   w       a   n   d       u   n   d
0123120    e   r   f   l   o   w  \r  \t   L   U       _       (   f   p
0123140    S   t   i   c   k   y   )       a   n   d       (   2   0   0
0123160    0   0   C   )   ,       S   k   i   p   [   A   L   U   <   0
0123200    ]   ;  \r  \t           D   b   l   G   o   T   o   [   P   a
0123220    c   k   0   ,   F   l   o   a   t   T   r   a   p   ,   A   L
0123240    U   #   0   ]   ;  \t   *   U   n   d   e   r   f   l   o   w
0123260    -   -   c   h   e   c   k       m   o   d   e  \r  \t   T    
0123300    _       S   S   t   k   P   ,       G   o   T   o   [   F   l
0123320    o   a   t   T   r   p   1   ]   ;  \t  \t   *   O   v   e   r
0123340    f   l   o   w  \r  \r   O   v   e   r   f   l 376 001  \0 230
0123360   \t   o   w   :  \t  \t   *   F   o   r       e   x   p   o   n
0123400    e   n   t       .   e   q   .       3   7   7   b       o   r
0123420        4   0   0   b  \r  \t   T       _       S   S   t   k   P
0123440    ,       G   o   T   o   [   F   l   o   a   t   T   r   p   1
0123460    ]   ;  \r  \r   I   n   e   x   a   c   t   T   r   a   p   :
0123500   \r  \t   T       _       S   S   t   k   P   ,       G   o   T
0123520    o   [   F   l   o   a   t   T   r   p   1   ]   ;  \r   F   i
0123540    x   T   r   a   p   A   :  \r  \t   T       _       S   S   t
0123560    k   P   ,       G   o   T   o   [   F   l   o   a   t   T   r
0123600    p   1   ]   ;  \r   F   i   x   T   r   a   p   B   :  \r  \t
0123620    T       _       S   S   t   k   P   ,       G   o   T   o   [
0123640    F   l   o   a   t   T   r   p   1   ]   ;  \r   F   i   x   T
0123660    r   a   p   :  \r  \t   T       _       S   S   t   k   P   ,
0123700        G   o   T   o   [   F   l   o   a   t   T   r   p   1   ]
0123720    ;  \r   N   a   N   T   r   a   p   :  \r  \t   T       _    
0123740    S   S   t   k   P   ,       G   o   T   o   [   F   l   o   a
0123760    t 376 001  \0 301 217   T   r   p   1   ]   ;  \r   I   n   e
0124000    x   a   c   t   T   r   a   p   A   :  \r   D   e   n   o   r
0124020    m   T   r   a   p   :  \r  \t   T       _       S   S   t   k
0124040    P   ,       G   o   T   o   [   F   l   o   a   t   T   r   p
0124060    1   ]   ;  \r   F   l   o   a   t   T   r   a   p   :  \r  \t
0124100    T       _       S   S   t   k   P   ;  \t   *   E   v   e   n
0124120        p   l   a   c   e   m   e   n   t   ;       p   a   i   r
0124140    e   d       w   i   t   h       m   i       a   t       P   a
0124160    c   k   0   .  \r   :   I   F   [   A   l   t   o   M   o   d
0124200    e   ]   ;       *   *   *   *   *   *   *   *   *   *   *   *
0124220    *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
*
0124260   \r   F   l   o   a   t   T   r   p   1   :  \r  \t   f   p   T
0124300    e   m   p       _       T   ,       T   a   s   k   ;  \r  \t
0124320    S   t   k   P       _       f   p   T   e   m   p   ;  \r  \t
0124340    L   o   a   d   P   a   g   e   E   x   t   e   r   n   a   l
0124360    [   o   p   P   a   g 376 001  \0   n 232   e   3   ]   ;  \r
0124400    f   p   T   r   a   p   E   x   i   t   :  \r  \t   T       _
0124420        s   F   l   o   a   t   i   n   g   P   o   i   n   t   ,
0124440        G   o   T   o   E   x   t   e   r   n   a   l   [   k   f
0124460    c   r   L   o   c   ]   ;  \r   :   E   L   S   E   ;       *
0124500    *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
*
0124560    *   *   *  \r   F   l   o   a   t   T   r   p   1   :  \r  \t
0124600    T   r   a   p   P   a   r   m       _       T   ,       T   a
0124620    s   k   ;  \r  \t   T   r   a   p   P   a   r   m       _    
0124640    (   S   t   k   P       _       T   r   a   p   P   a   r   m
0124660    )       x   o   r       T   ;  \r   f   p   T   r   a   p   E
0124700    x   i   t   :  \r  \t   L   o   a   d   P   a   g   e   [   o
0124720    p   P   a   g   e   0   ]   ;  \r  \t   R   T   e   m   p    
0124740    _       (   R   T   e   m   p   )       +       (   4   0   0
0124760    C   )   ,       G   o   T   o   P   [   U 376 001  \0 240   v
0125000    n   d   e   f   T   r   a   p   ]   ;  \t   *   4   0   0    
0125020    +       a   l   p   h   a  \r   :   E   N   D   I   F   ;    
0125040    *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
*
0125120    *   *   *  \r   -   -   -   -   -   %  \r   O   v   e   r   U
0125140    n   d   e   r   f   l   o   w   :  \r  \t   l   s   p   U   F
0125160    N       _       (   l   s   p   U   F   N   )       o   r    
0125200    (   3   4   0   c   )   ,       g   o   t   o   [   u   f   n
0125220    L   B   L   ]   ;  \r   O   v   e   r   f   l   o   w   :  \t
0125240   \t   *   F   o   r       e   x   p   o   n   e   n   t       .
0125260    e   q   .       3   7   7   b       o   r       4   0   0   b
0125300   \r  \t   l   s   p   U   F   N       _       (   l   s   p   U
0125320    F   N   )       o   r       (   3   4   0   c   )   ,       g
0125340    o   t   o   [   u   f   n   L   B   L   ]   ;  \r   N   a   N
0125360    T   r   a   p   :  \r  \t   l   s   p   U   F   N       _    
0125400  376 001  \0   C   j   (   l   s   p   U   F   N   )       o   r
0125420        (   3   4   0   c   )   ,       g   o   t   o   [   u   f
0125440    n   L   B   L   ]   ;  \r   D   e   n   o   r   m   T   r   a
0125460    p   :  \r  \t   l   s   p   U   F   N       _       (   l   s
0125500    p   U   F   N   )       o   r       (   3   4   0   c   )   ,
0125520        g   o   t   o   [   u   f   n   L   B   L   ]   ;  \r   F
0125540    l   o   a   t   T   r   a   p   :  \r  \t   l   s   p   U   F
0125560    N       _       (   l   s   p   U   F   N   )       o   r    
0125600    (   3   4   0   c   )   ,       g   o   t   o   [   u   f   n
0125620    L   B   L   ]   ;  \r  \f  \r   %   A   d   d   i   t   i   o
0125640    n       a   n   d       s   u   b   t   r   a   c   t   i   o
0125660    n       a   r   e       a   l   m   o   s   t       t   h   e
0125700        s   a   m   e   .          \r       1   )       U   n   p
0125720    a   c   k       t   h   e       a   r   g   u   m   e   n   t
0125740    s   ,       n   e   g   a   t   e       A   r   g   2       i
0125760    f       F   S   u   b   ,       c   h   e   c   k       f   o
0126000    r       z   e   r 376 001  \0 216   G   o   e   s   .  \r    
0126020    2   )       P   o   i   n   t       D   B       a   t       t
0126040    h   e       a   r   g   u   m   e   n   t       w   i   t   h
0126060        t   h   e       s   m   a   l   l   e   r       e   x   p
0126100    o   n   e   n   t   ,       S   B       a   t       t   h   e
0126120        o   t   h   e   r   ,       a   n   d  \r   c   a   l   l
0126140        U   n   n   o   r   m       t   o       r   i   g   h   t
0126160    -   s   h   i   f   t       t   h   e       D   B       a   r
0126200    g   u   m   e   n   t       b   y       t   h   e       d   i
0126220    f   f   e   r   e   n   c   e       i   n       t   h   e    
0126240    e   x   p   o   n   e   n   t   s   .  \r       3   )       A
0126260    d   d       o   r       s   u   b   t   r   a   c   t       m
0126300    a   g   n   i   t   u   d   e   s   ,       d   e   p   e   n
0126320    d   i   n   g       o   n       t   h   e       s   i   g   n
0126340    s   .  \r       5   )       R   e   n   o   r   m   a   l   i
0126360    z   e       t   h   e       r   e   s   u   l   t   ,       r
0126400    o   u   n   d   ,       a   n   d     376 001  \0 254 006   p
0126420    u   s   h       i   t       o   n       t   h   e       s   t
0126440    a   c   k   .  \r  \r   G   e   t       h   e   r   e       a
0126460    f   t   e   r       T       _       f   p   F   r   a   c   1
0126500    H   ;       S   B       s   e   l   e   c   t   s       a   r
0126520    g   1   .  \r  \r   T   i   m   i   n   g       @   F   A   d
0126540    d       t   o       R   e   n   o   r   m   :       2   4    
0126560    +       (   2       i   f       F   S   u   b   )       +    
0126600    (   5       i   f       E   x   p   1       .   l   s   .    
0126620    E   x   p   2   )  \r   +       (   7       i   f       s   u
0126640    b   t   r   a   c   t   i   o   n       p   r   o   d   u   c
0126660    e   s       n   e   g   a   t   i   v   e       f   r   a   c
0126700    t   i   o   n   )  \r   +       (   1       i   f       U   n
0126720    n   o   r   m       p   r   o   d   u   c   e   s       o   n
0126740    e   s       i   n       M   N   B   R   )   .           A   d
0126760    d       U   n   n   o   r   m       t   i   m   e       t   o
0127000        t   h   i   s   .  \r   F   o   r       t   h   o   s 376
0127020  001  \0 322 375   e       c   a   s   e   s       w   h   i   c
0127040    h       e   n   t   e   r       R   e   n   o   r   m       a
0127060    t       N   o   r   m   G   o   ,       4       c   y   c   l
0127100    e   s       h   a   v   e       b   e   e   n       s   u   b
0127120    t   r   a   c   t   e   d   .  \r   S   u   b   t   r   a   c
0127140    t   i   o   n       c   a   n       p   r   o   d   u   c   e
0127160        a       n   e   g   a   t   i   v   e       r   e   s   u
0127200    l   t       o   n   l   y       w   h   e   n       E   x   p
0127220    1       .   e   q   .       E   x   p   2   ;  \r   U   n   n
0127240    o   r   m       p   r   o   d   u   c   e   s       a       s
0127260    t   i   c   k   y       b   i   t       o   n   l   y       f
0127300    o   r       e   x   p   o   n   e   n   t       d   i   f   f
0127320    e   r   e   n   c   e   s       l   a   r   g   e   r       t
0127340    h   a   n       7   .  \r  \r   0       o   r       1       N
0127360    o   r   m   S   t   e   p   s       w   i   l   l       b   e
0127400        p   e   r   f   o   r   m   e   d       a   f   t   e   r
0127420        a   d   d 376 001  \0 273   p   i   t   i   o   n   ;  \r
0127440    1       o   r       2       N   o   r   m   S   t   e   p   s
0127460        w   i   l   l       b   e       p   e   r   f   o   r   m
0127500    e   d       a   f   t   e   r       s   u   b   t   r   a   c
0127520    t   i   o   n       u   s   u   a   l   l   y   ;       b   u
0127540    t  \r   u   p       t   o       2   4   d       N   o   r   m
0127560    S   t   e   p   s       m   i   g   h   t       b   e       p
0127600    e   r   f   o   r   m   e   d       i   f       0   .   5    
0127620    <       a   r   g   1   /   a   r   g   2       <       2   .
0127640    0   .  \r   %  \r   @   F   S   u   b   :  \t   f   p   E   x
0127660    p   S   i   g   n   2       _       (   f   p   E   x   p   S
0127700    i   g   n   2   )       x   o   r       (   1   C   )   ,    
0127720    A   t   [   U   n   p   a   c   k   R   e   t   ,   1   ]   ;
0127740   \t   *   C   o   m   p   l   e   m   e   n   t       s   i   g
0127760    n  \r   @   F   A   d   d   :  \t   L   U       _       (   f
0130000    p   F   r   a   c   2   H   )       a   n   d       T   ,    
0130020    A   t   [   U   n   p   a   c   k 376 001  \0 311 305   R   e
0130040    t   ,   0   ]   ;  \r   *   S   i   m   u   l   t   a   n   e
0130060    o   u   s   l   y       c   o   m   p   u   t   e       t   h
0130100    e       e   x   p   o   n   e   n   t       d   i   f   f   e
0130120    r   e   n   c   e       i   n       b   i   t   s       0   :
0130140    8       w   h   i   l   e       X   O   R   '   i   n   g  \r
0130160    *   t   h   e       s   i   g   n   s       i   n       b   i
0130200    t       1   5   d       a   n   d       s   e   t   t   i   n
0130220    g       u   p       a       3       i   n       b   i   t   s
0130240        1   0   :   1   1   d       f   o   r       S   B   _    
0130260    a   n   d       D   B   _   .  \r   *   T   h   e       "   1
0130300    "       i   n       "   6   1   C   "       h   e   r   e    
0130320    p   r   e   v   e   n   t   s       s   i   g   n       s   u
0130340    b   t   r   a   c   t   i   o   n       f   r   o   m       p
0130360    r   o   p   a   g   a   t   i   n   g       h   i   g   h   e
0130400    r   .  \r  \t   T       _           (   f   p   E   x   p   S
0130420    i   g   n   2   )       -       (   6   1   C   )   , 376 001
0130440   \0 031   4       G   o   T   o   [   A   d   d   0   ,   A   L
0130460    U   =   0   ]   ;  \r  \t   T       _       (   f   p   E   x
0130500    p   S   i   g   n   1   )       -       T   ,       C   a   l
0130520    l   [   F   A   d   d   A   ]   ;  \r   *   R   e   t   u   r
0130540    n       h   e   r   e       a   f   t   e   r       U   n   n
0130560    o   r   m   .           O   r       t   h   e       S   t   i
0130600    c   k   y       b   i   t       i   n   t   o       D   B   [
0130620    f   p   F   r   a   c   L   ]       b   i   t       1   5    
0130640    a   n   d       t   e   s   t  \r   *   c   y   c   l   e    
0130660    t   h   e       (   S   i   g   n   1       x   o   r       S
0130700    i   g   n   2   )       b   i   t       i   n   t   o       t
0130720    h   e       A   L   U       s   i   g   n       f   o   r    
0130740    t   e   s   t   i   n   g   .  \r  \t   L   U       _       M
0130760    N   B   R   ;  \r  \t   L   U       _       R   C   y   [   f
0131000    p   T   e   m   p   ,   1   ]   ,       S   k   i   p   [   A
0131020    L   U   =   0   ]   ;  \r  \t           T       _       (   R
0131040    S   h   [ 376 001  \0   )   '   A   l   l   O   n   e   s   ,
0131060    1   7   ]   )       o   r       T   ,       D   b   l   G   o
0131100    T   o   [   A   d   d   F   r   a   c   ,   S   u   b   F   r
0131120    a   c   ,   A   L   U   <   0   ]   ;  \r  \t   D   b   l   G
0131140    o   T   o   [   A   d   d   F   r   a   c   ,   S   u   b   F
0131160    r   a   c   ,   A   L   U   <   0   ]   ;  \r  \r   *   f   p
0131200    T   e   m   p       _       [   (   E   x   p   1   -   E   x
0131220    p   2   )       l   s   h       7   ]       +       6   1   b
0131240        +       S   1       -       S   2  \r   F   A   d   d   A
0131260    :  \t   f   p   T   e   m   p       _       T   ,       S   k
0131300    i   p   [   A   L   U   <   0   ]   ;  \r   *   E   x   p   1
0131320        .   g   e   .       E   x   p   2   :       P   o   i   n
0131340    t       S   B       a   t       a   r   g   1       (   i   t
0131360        a   l   r   e   a   d   y       d   o   e   s   )   ,    
0131400    D   B       a   t       a   r   g   2   .  \r  \t           D
0131420    B       _       f   p   T   e   m   p   ,       G   o   T   o
0131440    [   U   n   n   o   r   m   ] 376 001  \0   \   1   ;  \r   *
0131460    E   x   p   1       .   l   s   .       E   x   p   2   :    
0131500    P   o   i   n   t       S   B       a   t       a   r   g   2
0131520    ,       D   B       a   t       a   r   g   1   ;       n   e
0131540    g   a   t   e       t   h   e       c   o   u   n   t   .  \r
0131560   \t   T       _       1   5   7   C   ;  \r   *   f   p   T   e
0131600    m   p       _       [   (   E   x   p   1   -   E   x   p   2
0131620    )   '       l   s   h       7   ]       +       4   1   b    
0131640    +       S   1       -       S   2   ;       S   B       _    
0131660    3   .  \r  \t   f   p   T   e   m   p       _       (   S   B
0131700        _       f   p   T   e   m   p   )       x   n   o   r    
0131720    T   ;  \r   *   f   p   T   e   m   p       _       [   (   E
0131740    x   p   2   -   E   x   p   1   )       l   s   h       7   ]
0131760        +       2   1   b       +       S   1       -       S   2
0132000    ;       D   B       _       2   .  \r  \t   f   p   T   e   m
0132020    p       _       (   D   B       _       f   p   T   e   m   p
0132040    )       +       T       +       1   ,       G   o 376 001  \0
0132060    X  \n   T   o   [   U   n   n   o   r   m   ]   ;  \r  \r   *
0132100    T   h   e       s   i   g   n   s       a   r   e       e   q
0132120    u   a   l   ;           a   d   d       t   h   e       f   r
0132140    a   c   t   i   o   n   s   .           D   B   [   f   p   F
0132160    r   a   c   L   ]       i   s       i   n       T   .  \r   A
0132200    d   d   F   r   a   c   :  \r  \t   S   B   [   f   p   F   r
0132220    a   c   L   ]       _       S   B   [   f   p   F   r   a   c
0132240    L   ]       +       T   ,       T   a   s   k   ;  \r  \t   T
0132260        _       D   B   [   f   p   F   r   a   c   H   ]       +
0132300        1   ,       U   s   e   C   O   u   t   A   s   C   I   n
0132320    ;  \r  \t   S   B   [   f   p   F   r   a   c   H   ]       _
0132340        S   B   [   f   p   F   r   a   c   H   ]       +       T
0132360    ,       G   o   T   o   [   R   e   n   o   r   m   ]   ;  \r
0132400   \r   *   T   h   e       s   i   g   n   s       a   r   e    
0132420    d   i   f   f   e   r   e   n   t   ;           s   u   b   t
0132440    r   a   c   t       t   h   e       f   r   a   c   t   i   o
0132460    n   s 376 001  \0 323 255   .           D   B   [   f   p   F
0132500    r   a   c   L   ]       i   s       i   n       T   .  \r   S
0132520    u   b   F   r   a   c   :  \r  \t   S   B   [   f   p   F   r
0132540    a   c   L   ]       _       S   B   [   f   p   F   r   a   c
0132560    L   ]       -       T   ;  \r  \t   T       _       D   B   [
0132600    f   p   F   r   a   c   H   ]   ,       F   r   e   e   z   e
0132620    R   e   s   u   l   t   ;  \r  \t   S   B   [   f   p   F   r
0132640    a   c   H   ]       _       T       _       (   S   B   [   f
0132660    p   F   r   a   c   H   ]   )       -       T   ,       U   s
0132700    e   C   O   u   t   A   s   C   I   n   ;  \r  \t   L   U    
0132720    _       S   B   [   f   p   F   r   a   c   L   ]       o   r
0132740        T   ,       G   o   T   o   [   S   u   b   N   e   g   ,
0132760    A   L   U   <   0   ]   ;  \r   S   u   b   N   o   n   N   e
0133000    g   :  \r  \t   S   B   [   f   p   E   x   p   S   i   g   n
0133020    ]       _       S   B   [   f   p   E   x   p   S   i   g   n
0133040    ]       -       (   2   0   0   C   )   ,       G   o   T   o
0133060    [   L   o   n   g   N   o 376 001  \0 330   T   r   m   G   o
0133100    ,   A   L   U   #   0   ]   ;  \r   *   *   *   *   *  \t   T
0133120        _       S   t   a   c   k   &   +   1       _       0   C
0133140    ,       G   o   T   o   [   F   l   P   u   s   h   ]   ;  \r
0133160   \t   g   o   t   o   [   P   a   c   k   0   ]   ;  \r  \r   *
0133200    G   e   t       h   e   r   e       o   n   l   y       w   h
0133220    e   n       t   h   e       e   x   p   o   n   e   n   t   s
0133240        a   r   e       e   q   u   a   l       a   n   d       t
0133260    h   e       D   B       f   r   a   c   t   i   o   n       i
0133300    s       l   a   r   g   e   r  \r   *   t   h   a   n       t
0133320    h   e       S   B       f   r   a   c   t   i   o   n   .    
0133340        2       t   o       2   4   d       N   o   r   m   S   t
0133360    e   p   s       w   i   l   l       b   e       p   e   r   f
0133400    o   r   m   e   d   .  \r   S   u   b   N   e   g   :  \t   T
0133420        _       S   B   [   f   p   F   r   a   c   L   ]   ,    
0133440    C   a   l   l   [   N   e   g   F   r   a   c   1   ]   ;  \r
0133460    *   S   i   m   u   l   t   a   n   e   o   u 376 001  \0   ]
0133500    C   s   l   y       c   o   m   p   l   e   m   e   n   t    
0133520    t   h   e       s   i   g   n       a   n   d       s   u   b
0133540    t   r   a   c   t       1       f   r   o   m       t   h   e
0133560        e   x   p   o   n   e   n   t   .  \r          \t   S   B
0133600    [   f   p   E   x   p   S   i   g   n   ]       _       S   B
0133620    [   f   p   E   x   p   S   i   g   n   ]       -       (   1
0133640    7   7   C   )   ,       G   o   T   o   [   L   o   n   g   N
0133660    o   r   m   G   o   ]   ;  \r  \f  \r   %   M   u   l   t   i
0133700    p   l   y   .  \r       1   )       U   n   p   a   c   k    
0133720    a   r   g   u   m   e   n   t   s       l   e   a   v   i   n
0133740    g       n   o   r   m   a   l   i   z   e   d       f   r   a
0133760    c   t   i   o   n   s       i   n       f   p   F   r   a   c
0134000    H   [   1   :   1   5   ]   ,   ,   f   p   F   r   a   c   L
0134020    [   0   :   8   ]   .  \r       2   )       C   h   e   c   k
0134040        f   o   r       z   e   r   o       a   r   g   u   m   e
0134060    n   t   s   .           G   o   T   o       M   u   l   0    
0134100    i 376 001  \0   b 226   f       e   i   t   h   e   r       a
0134120    r   g       d   e   n   o   r   m   a   l   i   z   e   d   ;
0134140        s   i   n   c   e  \r   U   n   p   a   c   k       h   a
0134160    s       t   r   a   p   p   e   d       f   o   r       a   n
0134200    y       n   o   n   -   0       d   e   n   o   r   m   a   l
0134220    i   z   e   d       a   r   g   ,       t   h   e       "   a
0134240    n   d   "       a   t       @   F   M   u   l       i   s  \r
0134260    a   l   w   a   y   s       n   o   n   -   0       f   o   r
0134300        b   o   t   h       a   r   g   s       n   o   n   -   0
0134320    .  \r       3   )       S   e   t       s   i   g   n       a
0134340    n   d       e   x   p   o   n   e   n   t       o   f       F
0134360    r   a   c   1       t   o       E   x   p   1   +   E   x   p
0134400    2   -   1   7   7   b   +   1   -   1   ,       w   h   e   r
0134420    e       -   1   7   7   b  \r   c   o   m   p   e   n   s   a
0134440    t   e   s       f   o   r       t   h   e       e   x   c   e
0134460    s   s       i   n       E   x   p   1   +   E   x   p   2   ,
0134500        +   1       f   o 376 001  \0 376 263   r       t   h   e
0134520        N   o   r   m   S   t   e   p       n   o   r   m   a   l
0134540    l   y  \r   r   e   q   u   i   r   e   d   ,       a   n   d
0134560        -   1       f   o   r       t   h   e       e   x   p   o
0134600    n   e   n   t       o   f   f   s   e   t       i   n       R
0134620    e   n   o   r   m   ;       a   l   t   o   g   e   t   h   e
0134640    r       t   h   i   s       i   s  \r   E   x   p   1   +   E
0134660    x   p   2   -   1   7   7   b   .           A   d   d   i   n
0134700    g       f   p   E   x   p   S   i   g   n   1       t   o    
0134720    f   p   E   x   p   S   i   g   n   2       a   l   s   o    
0134740    X   O   R   '   s       t   h   e       s   i   g   n       b
0134760    i   t  \r   f   o   r       t   h   e       r   e   s   u   l
0135000    t   .  \r       4   )       S   h   i   f   t       f   p   F
0135020    r   a   c   2       s   o       n   o   n   -   0       b   i
0135040    t   s       a   r   e       i   n       f   p   F   r   a   c
0135060    2   H   [   8   :   1   5   ]   ,   ,   f   p   F   r   a   c
0135100    2   L   [   0   :   1   5   ]   ;  \r   t 376 001  \0 340   C
0135120    h   e   n       c   o   p   y       f   p   F   r   a   c   2
0135140    L       i   n   t   o       M   N   B   R       f   o   r    
0135160    t   h   e       i   n   n   e   r       l   o   o   p   s   ;
0135200        f   p   F   r   a   c   2   L       b   e   c   o   m   e
0135220    s  \r   t   h   e       l   o   w   -   o   r   d   e   r    
0135240    p   r   o   d   u   c   t       w   o   r   d       f   p   F
0135260    r   a   c   1   L   L   .  \r       5   )       L   e   f   t
0135300    -   s   h   i   f   t       f   p   F   r   a   c   1   H   /
0135320    L       2       p   o   s   i   t   i   o   n   s       a   n
0135340    d       a   d   d       f   p   F   r   a   c   2   H       t
0135360    o       f   p   F   r   a   c   1   L   ;       t   h   e  \r
0135400    l   e   a   d   i   n   g       m   u   l   t   i   p   l   i
0135420    e   r       b   i   t       i   s       k   n   o   w   n    
0135440    t   o       b   e       1   ,       s   o       t   h   e    
0135460    i   n   n   e   r       l   o   o   p       i   s       e   n
0135500    t   e   r   e   d       w   i   t   h  \r   t   h   e       m
0135520  376 001  \0 037 207   u   l   t   i   p   l   i   e   r       l
0135540    s   h       1       i   n       f   p   F   r   a   c   1   H
0135560    /   L   /   L   L   [   0   :   2   5   b   ]       a   n   d
0135600        t   h   e       m   u   l   t   i   p   l   i   c   a   n
0135620    d       i   n  \r   f   p   F   r   a   c   1   H   /   L   /
0135640    L   L   [   3   0   :   5   7   b   ]   .  \r       6   )    
0135660    P   e   r   f   o   r   m       t   h   e       s   h   i   f
0135700    t       a   n   d       a   d   d       l   o   o   p       2
0135720    3   d       t   i   m   e   s   ,       s   i   n   c   e    
0135740    t   h   e       1   s   t       o   f       2   4   d       s
0135760    t   e   p   s       w   a   s  \r   d   o   n   e       b   e
0136000    f   o   r   e       s   t   a   r   t   i   n   g       t   h
0136020    e       l   o   o   p   .           I   n   i   t   i   a   l
0136040    l   y   ,       t   w   o       0       b   i   t   s       l
0136060    i   e       b   e   t   w   e   e   n       t   h   e  \r   l
0136100    o   w   -   o   r   d   e   r       m   u   l   t   i   p   l
0136120    i   e   r       a 376 001  \0   f 341   n   d       h   i   g
0136140    h   -   o   r   d   e   r       p   r   o   d   u   c   t    
0136160    b   i   t   s   .           E   a   c   h       s   t   e   p
0136200        s   h   i   f   t   s       t   h   e  \r   m   u   l   t
0136220    i   p   l   i   e   r       a   n   d       p   r   o   d   u
0136240    c   t       i   n       f   p   F   r   a   c   1   H   /   L
0136260    /   L   L       a   n   d       c   o   n   d   i   t   i   o
0136300    n   a   l   l   y       a   d   d   s       t   h   e  \r   m
0136320    u   l   t   i   p   l   i   c   a   n   d       i   n       f
0136340    p   F   r   a   c   2   H   /   M   N   B   R   .           C
0136360    a   r   r   i   e   s       m   a   y       m   a   k   e    
0136400    t   h   e       2   n   d       o   f       t   h   e       t
0136420    w   o       0   '   s  \r   b   e   t   w   e   e   n       t
0136440    h   e       m   u   l   t   i   p   l   i   e   r       a   n
0136460    d       p   r   o   d   u   c   t       i   n   t   o       a
0136500        1   ,       b   u   t       t   h   e       1   s   t    
0136520    0       w   i   l   l       r   e   m 376 001  \0   8   5   a
0136540    i   n       0   .  \r       7   )       D   o       0       o
0136560    r       1       N   o   r   m   S   t   e   p   s       a   t
0136600        R   e   n   o   r   m   .  \r  \r   T   i   m   i   n   g
0136620        @   F   M   u   l       t   o       R   e   n   o   r   m
0136640        f   o   r       n   o   n   -   0       a   r   g   s   :
0136660        (   3   6       o   r       3   9   )       +       8   *
0136700    (   1   0   /   z   e   r   o       o   r       1   9   /   o
0136720    n   e   )  \r   +       1   5   *   (   6   /   z   e   r   o
0136740    ,       [   1   1       o   r       1   4   ]   /   o   n   e
0136760    )   .           T   o   t   a   l       a   v   e   r   a   g
0137000    e   s       2   9   3   .   7   5       c   y   c   l   e   s
0137020    .  \r   %  \r   @   F   M   u   l   :  \t   L   U       _    
0137040    (   f   p   F   r   a   c   2   H   )       a   n   d       T
0137060    ,       A   t   [   U   n   p   a   c   k   R   e   t   ,   2
0137100    ]   ;  \r  \t   T       _       (   f   p   E   x   p   S   i
0137120    g   n   2   )       -       (   3   7   4   0   0   C   ) 376
0137140  001  \0   t 177   ,       G   o   T   o   [   M   u   l   0   ,
0137160    A   L   U   =   0   ]   ;  \r  \t   f   p   E   x   p   S   i
0137200    g   n   1       _       (   f   p   E   x   p   S   i   g   n
0137220    1   )       +       T   ,       L   o   a   d   P   a   g   e
0137240    [   f   p   P   a   g   e   4   ]   ;  \r  \t   T       _    
0137260    R   S   h   [   f   p   F   r   a   c   1   L   ,   1   6   ]
0137300    ;  \r   O   n   P   a   g   e   [   f   p   P   a   g   e   4
0137320    ]   ;  \r  \t   f   p   F   r   a   c   1   H       _       (
0137340    L   S   h   [   f   p   F   r   a   c   1   H   ,   2   ]   )
0137360        o   r       T   ,       T   a   s   k   ;  \r  \t   T    
0137400    _       L   S   h   [   f   p   F   r   a   c   2   H   ,   1
0137420    1   ]   ;  \r  \t   f   p   F   r   a   c   1   L   L       _
0137440        (   R   S   h   [   f   p   F   r   a   c   2   L   ,   7
0137460    ]   )       o   r       T   ;  \t   *   F   o   r       t   h
0137500    a   t       1   s   t       m   u   l   t   i   p   l   i   e
0137520    r       1  \r  \t   T       _       f   p   F   r   a   c   2
0137540    H       _     376 001  \0 364   .   R   S   h   [   f   p   F
0137560    r   a   c   2   H   ,   7   ]   ,       T   a   s   k   ;  \r
0137600   \t   f   p   F   r   a   c   1   L       _       (   L   S   h
0137620    [   f   p   F   r   a   c   1   L   ,   2   ]   )       o   r
0137640        T   ;  \r  \t   f   p   O   n   e       _       1   C   ;
0137660   \r  \t   L   U       _       (   M   N   B   R       _       f
0137700    p   F   r   a   c   2   L   )       S   A   L   U   F   O   P
0137720        T   ;  \r  \t   T       _       (   f   p   F   r   a   c
0137740    2   H   )       S   A   L   U   F   O   P       T   ,       U
0137760    s   e   C   O   u   t   A   s   C   I   n   ;  \r  \t   f   p
0140000    F   r   a   c   2   H   L   S   h   1       _       T   ,    
0140020    L   o   a   d   P   a   g   e   [   f   p   P   a   g   e   2
0140040    ]   ;  \r  \t   f   p   F   r   a   c   2   H   L   S   h   1
0140060    p   1       _       (   Z   e   r   o   )       +       T    
0140100    +       1   ;  \r   O   n   P   a   g   e   [   f   p   P   a
0140120    g   e   2   ]   ;  \r  \t   f   p   C   o   u   n   t       _
0140140        6   C   ,       C   a   l   l 376 001  \0 363   3   [   F
0140160    M   N   o   A   1   ]   ;  \t   *   T   o   t   a   l       o
0140200    f       5       +       3   *   f   p   C   o   u   n   t    
0140220    i   t   e   r   a   t   i   o   n   s  \r  \r   %   W   i   t
0140240    h       t   h   i   s       u   n   r   o   l   l   e   d    
0140260    l   o   o   p   ,       t   h   e       e   x   t   e   r   i
0140300    o   r       s   t   e   p       r   u   n   s       i   n    
0140320    1   0       +       9   /   a   d   d       c   y   c   l   e
0140340    s       a   n   d  \r   i   n   t   e   r   i   o   r       s
0140360    t   e   p   s       i   n       6       +       (   5       o
0140400    r       8   )   /   a   d   d       c   y   c   l   e   s   ;
0140420        t   h   e       i   n   t   e   r   i   o   r       s   t
0140440    e   p       c   a   n       b   e  \r   r   e   p   l   i   c
0140460    a   t   e   d       0       t   o       4       t   i   m   e
0140500    s   ,       t   r   a   d   i   n   g       s   p   a   c   e
0140520        f   o   r       s   p   e   e   d   .           E   a   c
0140540    h       r   e   p   l   i   c   a   t   i   o   n     376 001
0140560   \0 370 371   c   o   s   t   s  \r   1   0   d       m   i    
0140600    e   a   c   h       (   +   5       m   i       f   o   r    
0140620    i   n   i   t   i   a   l   i   z   i   n   g       t   h   e
0140640        t   h   r   e   e       r   e   g   i   s   t   e   r   s
0140660        n   e   e   d   e   d   )   .  \r   f   p   C   o   u   n
0140700    t       a   n   d       e   n   t   r   y       p   o   i   n
0140720    t       h   a   v   e       t   o       b   e       a   d   j
0140740    u   s   t   e   d   .           T   h   e       1   s   t    
0140760    f   a   s   t       l   o   o   p       s   a   v   e   s    
0141000    a   n  \r   a   v   e   r   a   g   e       o   f       2   .
0141020    6   2   5   /   c   y   c   l   e   s       b   i   t   ;    
0141040    t   h   e       2   n   d       s   a   v   e   s       a   n
0141060        a   d   d   i   t   i   o   n   a   l       .   8   7   5
0141100        c   y   c   l   e   s   /   b   i   t   ;  \r   3   4   d
0141120        s   a   v   e   s       .   4   3   7   5       c   y   c
0141140    l   e   s   /   b   i   t   ,       e   t   c   .           I
0141160        h   a 376 001  \0 351 271   v   e   n   '   t       f   o
0141200    u   n   d       a   n   y       w   a   y       o   f       m
0141220    a   k   i   n   g       t   h   e  \r   s   l   o   w       e
0141240    x   t   e   r   i   o   r       l   o   o   p       l   o   o
0141260    k       m   o   r   e       l   i   k   e       t   h   e    
0141300    f   a   s   t       o   n   e       a   n   d       s   t   i
0141320    l   l       g   e   t       i   n       t   h   e  \r   r   e
0141340    q   u   i   r   e   d       t   a   s   k   i   n   g   .  \r
0141360    %  \r  \t   f   p   C   o   u   n   t       _       (   f   p
0141400    C   o   u   n   t   )       -       1   ,       G   o   T   o
0141420    [   M   u   l   D   o   n   e   ,   R   <   0   ]   ;  \r  \r
0141440   \t   f   p   F   r   a   c   1   L   L       _       (   f   p
0141460    F   r   a   c   1   L   L   )       S   A   L   U   F   O   P
0141500        T   ;  \r  \t   f   p   F   r   a   c   1   L       _    
0141520