$ od -c -N 50000 [_CDCSL_93-16_]<1>Cedar>release>SchemeLib>Iterate.$cheme 0000000 # 001 006 * 004 l i s t 004 l o o p 004 c 0000020 o n s \a i t e r a t e 003 c d r 005 0000040 n u l l ? 003 t 4 7 006 l a m b d a 0000060 004 c a d r 005 e r r o r 003 . . . \r 0000100 s y n t a x - m a t c h ? 006 g e 0000120 n s y m 004 c a a r 003 l e t 005 f i 0000140 r s t 003 t 5 7 003 c a r 005 t h u n 0000160 k 004 e x i t 036 c a l l - w i t h 0000200 - c u r r e n t - c o n t i n u 0000220 a t i o n \b g e n - n a m e 006 a 0000240 p p e n d \t l o o p - n a m e \v 0000260 r e t u r n - n a m e \t m o r e 0000300 - b o d y 006 i g n o r e 004 b o d 0000320 y \b g e n - e x p r 003 v a r 005 c 0000340 a d d r 005 c d d d r 003 m a p 004 s 0000360 e t ! 005 c a d a r 005 q u o t e 003 0000400 t 5 6 003 t 5 4 003 t 5 1 003 t 4 5 003 0000420 t 5 9 \v m a k e - s y n t a x 0000440 021 020 I n t e r p r e t e d C o 0000460 d e 022 \0 017 023 023 002 \a ) \a 003 003 037 \n \0 0000500 002 032 ( 001 003 $ 001 025 * 021 022 A n o n 0000520 y m o u s f u n c t i o n 022 \t 0000540 \a ( \a ' \a & \a % \a $ \a 001 \a 001 \a 001 0000560 \a 001 016 023 023 004 $ \a 002 \a \v \a \f \a \v \a 0000600 \f \a \v \a \a \b \a \v \a \0 \a \0 \a \0 \a 0000620 002 \a 002 \a 026 \a \b \a \b \a \0 \a \0 \a \0 \a 0000640 002 \a 002 \a \0 \a \0 \a \0 \a \0 \a 026 \a \b \a 0000660 002 \a 036 \a 037 \a \0 \a \t \a \t \a \t \a \t 004 0000700 . 037 202 ' \0 035 032 024 \0 004 & \0 001 033 025 0000720 026 001 005 023 001 036 034 002 & \0 002 035 027 030 005 0000740 002 005 023 001 022 036 004 002 & \0 003 036 005 030 006 0000760 030 \a 003 005 023 001 006 036 006 ( \b 030 \t & \0 0001000 005 ( \n & \0 005 005 036 \a 001 003 003 004 & 0001020 \0 004 036 \b 030 \v 030 \f 004 005 022 372 036 \t 030 0001040 \r 036 \n 030 016 030 017 036 \v 030 020 036 \f 036 \r 0001060 002 030 021 004 036 016 030 022 & \0 006 ( 023 & \0 006 0001100 006 036 017 001 003 004 004 030 024 & \0 \a ( 0001120 025 & \0 \a \a 036 020 001 003 003 004 004 036 021 0001140 030 026 003 030 027 036 022 030 030 036 023 030 031 030 032 0001160 036 024 030 033 036 025 036 026 036 027 030 034 036 030 030 035 0001200 030 036 036 031 030 037 030 004 005 004 003 036 032 030 ! 0001220 & \0 \b ( " & \0 \b \b 004 036 033 001 0001240 003 004 036 034 036 035 001 003 036 036 001 003 004 004 0001260 004 004 005 004 036 037 003 003 006 005 005 005 \n 036 0001300 030 # 030 $ 004 030 % \f 004 036 ! 030 & 030 ' 0001320 003 030 ( \f 004 036 " 030 ) 030 * 002 030 + 0001340 \f 004 036 # 030 , 030 - 001 \v \a 003 001 \a 003 0001360 004 005 \a 003 002 002 \a 035 \a 034 \a \n \a 033 \a 031 0001400 \a \n \0 \a 030 \0 \a 027 021 022 A n o n y 0001420 m o u s f u n c t i o n 022 001 \a 0001440 032 017 024 024 001 \a \f 001 037 004 \0 001 032 \b 021 \b 0001460 ( i g n o r e ) \0 017 \a 001 022 001 \a 0001500 006 017 024 024 004 004 \a 005 \a 002 \a \r \a 004 002 037 0001520 030 \0 005 032 \0 003 022 \n 024 * 033 034 \0 003 0001540 ! 001 005 035 \0 003 003 \n \0 021 005 ( t 4 7 0001560 ) \0 \0 002 \a 025 \a \n \a 024 \a \a 001 \a 023 \a 0001600 016 001 003 \a \a \0 002 \a 023 002 \a # \0 017 \a 0001620 001 022 004 \a 006 \a 020 \a 017 \a 022 017 027 002 027 002 0001640 004 \a \a 005 \a 002 \a \0 \a 021 \a " \a 004 \a 004 0001660 003 037 8 \0 006 032 \0 003 & \0 002 ( 001 & \0 0001700 003 002 022 026 002 016 031 003 002 022 035 025 * 0001720 033 034 035 001 003 036 004 \0 003 004 ! 001 006 036 0001740 005 \0 003 036 006 001 003 004 \n 021 022 A n 0001760 o n y m o u s f u n c t i o n 0002000 022 \0 017 023 023 001 \a 005 001 037 \a \0 002 032 ! 001 0002020 001 \t 021 002 ( ) \0 \0 021 \t ( t 4 7 t 0002040 5 7 ) \0 017 \a 001 022 001 \a 006 017 024 024 004 0002060 005 \a 005 \a 002 \a \0 \a \r \a 004 003 037 034 \0 005 0002100 032 \0 003 022 \n 024 * 033 034 035 \0 003 025 004 0002120 ! 001 \a 036 004 \0 003 003 \n \0 017 021 005 ( t 0002140 4 7 ) \0 \a 016 \0 \a 024 \a \a 001 \a 001 \a 016 0002160 \a 001 \a \a \0 \a 001 017 017 \a 001 022 004 \a 020 0002200 \a 006 \a 017 \a 022 017 027 002 027 002 004 \b \a 005 \a 0002220 002 \a \0 \a \r \a \0 \a 021 \a 004 \a 004 004 004 037 0002240 ? \0 \a 032 \0 003 & \0 002 ( 001 & \0 003 0002260 002 022 026 002 016 031 003 002 022 035 025 * 033 034 0002300 026 035 001 003 036 004 036 005 \0 003 ! 001 002 004 0002320 005 ! 001 \b 036 006 \0 003 036 \a 001 003 004 \n 0002340 021 022 A n o n y m o u s f u n 0002360 c t i o n 022 \0 017 023 023 001 \a 005 001 037 \a 0002400 \0 002 032 ! 001 001 \t 021 002 ( ) \0 \0 \a ! 021 0002420 \t ( t 5 7 t 4 7 ) \0 \a 003 021 033 d 0002440 o e s n o t f i t ' w i t 0002460 h ' p a t t e r n 002 \a 025 \a \n \a 0002500 003 021 033 d o e s n o t f i t 0002520 ' w i t h ' p a t t e r n \a 027 0002540 \a 003 021 033 d o e s n o t f i t 0002560 ' w i t h ' p a t t e r n \a 0002600 030 \a 003 021 016 i n v a l i d s y n 0002620 t a x 021 003 t 5 9 \0 \a 003 021 002 ( ) \0 0002640 \n # 001 006 , 004 l i s t 004 l o o p \b 0002660 i t e r a t e * 004 c o n s 005 n u 0002700 l l ? 003 c d r 006 l a m b d a 003 . 0002720 . . 005 e r r o r \r s y n t a x - 0002740 m a t c h ? 006 g e n s y m 004 c a 0002760 d r 003 t 6 3 004 c a a r 036 c a l l 0003000 - w i t h - c u r r e n t - c o 0003020 n t i n u a t i o n \b g e n - n 0003040 a m e 004 e x i t 003 l e t 003 c a r 0003060 005 t h u n k 005 f i r s t 003 t 6 9 0003100 \t l o o p - n a m e \v r e t u r 0003120 n - n a m e \t m o r e - b o d y 0003140 004 b o d y 006 i g n o r e 005 c a d 0003160 d r 006 a p p e n d 005 c d d d r \b 0003200 g e n - e x p r 003 v a r 005 l i s 0003220 t * 005 c a d a r 004 s e t ! 005 q u 0003240 o t e 004 l e t * 003 m a p 003 t 6 8 0003260 003 t 6 6 003 t 6 4 \v m a k e - s y 0003300 n t a x 003 t 6 0 003 t 7 0 021 020 I 0003320 n t e r p r e t e d C o d e 022 0003340 \0 017 023 023 002 \a ) \a 002 003 037 \n \0 002 032 ( 0003360 001 003 $ 001 025 * 021 022 A n o n y m o 0003400 u s f u n c t i o n 022 \b \a + \a 0003420 * \a ( \a ' \a & \a 001 \a 001 \a 001 016 023 023 0003440 004 " \a 003 \a \t \a \n \a \t \a \n \a \t \a % 0003460 \a \v \a \t \a \0 \a \0 \a \0 \a 003 \a 003 \a \v 0003500 \a \0 \a \0 \a \0 \a 003 \a 003 \a \0 \a \0 \a \0 0003520 \a \0 \a 034 \a \v \a 003 \a 033 \a 035 \a \0 \a \b 0003540 \a \b \a \b \a \b 004 , 037 202 020 \0 035 032 024 0003560 \0 004 & \0 001 033 025 026 001 005 023 001 \a 034 002 0003600 & \0 002 035 027 030 005 002 005 022 373 036 004 002 & 0003620 \0 003 036 005 030 006 030 \a 003 005 022 357 036 006 ( 0003640 \b 030 \t & \0 005 ( \n & \0 005 005 036 \a 0003660 001 003 003 004 & \0 004 036 \b 030 \v 030 \f 004 005 0003700 022 343 036 \t 030 \r 036 \n 030 016 030 017 036 \v 030 020 0003720 036 \f 036 \r 002 030 021 004 030 022 & \0 006 ( 023 0003740 & \0 006 006 036 016 001 003 004 004 004 036 017 0003760 030 024 003 030 025 036 020 030 026 036 021 030 027 030 030 0004000 036 022 030 031 036 023 036 024 036 025 030 032 036 026 030 033 0004020 030 034 036 027 030 035 030 036 004 005 004 003 036 030 030 037 0004040 & \0 \a ( & \0 \a \a 004 036 031 001 0004060 003 004 036 032 036 033 001 003 036 034 001 003 004 004 0004100 004 004 005 004 036 035 003 003 006 005 005 005 \n 036 036 0004120 030 ! 030 " 004 030 # \f 004 036 037 030 $ 030 % 0004140 003 030 & \f 004 036 030 ' 030 ( 002 030 ) 0004160 \f 004 036 ! 030 * 030 + 001 \v \a 002 001 \a 002 0004200 004 005 \a 002 002 002 \a 037 \a 036 \a \a \a 031 \a 030 0004220 \a \a \0 \a 027 \0 \a 026 021 022 A n o n y 0004240 m o u s f u n c t i o n 022 001 \a 0004260 032 017 024 024 001 \a \n 001 037 004 \0 001 032 \b 021 \b 0004300 ( i g n o r e ) \0 017 \a 001 022 001 \a 0004320 \f 017 024 024 004 004 \a 004 \a 003 \a \r \a 005 002 037 0004340 030 \0 005 032 \0 003 022 \n 024 * 033 034 \0 003 0004360 ! 001 005 035 \0 003 003 \n \0 021 005 ( t 6 3 0004400 ) \0 \0 002 \a 017 \a \a \a 016 \a 006 001 \a 020 \a 0004420 $ 001 003 \a 006 \0 002 \a 020 002 \a # \0 017 \a 0004440 001 022 004 \a \f \a 025 \a 024 \a 023 017 027 002 027 002 0004460 004 \t \a 004 \a \a \0 \a 022 \a ! \a \0 \a \r 0004500 \a 005 \a 005 004 004 037 A \0 \a 032 \0 003 & \0 0004520 002 ( 001 & \0 003 002 022 026 002 016 031 003 0004540 002 022 035 025 * 033 034 035 001 003 036 004 \0 003 0004560 004 036 005 036 006 \0 003 026 004 ! 001 006 036 \a 0004600 \0 003 036 \b 001 003 004 \v 021 022 A n o n 0004620 y m o u s f u n c t i o n 022 \0 0004640 017 023 023 001 \a 004 001 037 \a \0 002 032 ! 001 001 \t 0004660 021 002 ( ) \0 \0 017 021 \t ( t 6 3 t 6 0004700 9 ) \0 \a 021 \0 \a 016 \a 006 001 \a 001 \a 021 \a 0004720 001 \a 006 \0 \a 001 017 017 \a 001 022 004 \a 025 \a 0004740 \f \a 024 \a 023 017 027 002 027 002 004 \b \a 004 \a 003 0004760 \a \0 \a \r \a \0 \a 022 \a 005 \a 005 004 004 037 ? 0005000 \0 \a 032 \0 003 & \0 002 ( 001 & \0 003 002 0005020 022 026 002 016 031 003 002 022 035 025 * 033 034 026 0005040 035 001 003 036 004 036 005 \0 003 ! 001 002 004 005 0005060 ! 001 \a 036 006 \0 003 036 \a 001 003 004 \n 0005100 021 022 A n o n y m o u s f u n c 0005120 t i o n 022 \0 017 023 023 001 \a 004 001 037 \a \0 0005140 002 032 ! 001 001 \t 021 002 ( ) \0 \0 \a " 021 \t 0005160 ( t 6 9 t 6 3 ) \0 \a 002 021 033 d o 0005200 e s n o t f i t ' w i t h 0005220 ' p a t t e r n 002 \a 017 \a \a \a 002 0005240 021 033 d o e s n o t f i t ' 0005260 w i t h ' p a t t e r n \a 026 \a 0005300 002 021 033 d o e s n o t f i t 0005320 ' w i t h ' p a t t e r n \a 027 0005340 \a 002 021 016 i n v a l i d s y n t 0005360 a x 021 003 t 7 0 \0 \a 002 021 002 ( ) \0 \n 0005400 # 001 006 ( 004 c o n s 004 l i s t \t g 0005420 a t h e r i n g 004 l o o p 003 c a 0005440 r 003 c d r 005 n u l l ? 003 . . . 004 0005460 c a d r \r s y n t a x - m a t c 0005500 h ? \r g a t h e r e r - n a m e 0005520 \v a c c u m u l a t o r 005 v a l 0005540 u e 003 t 7 8 003 t 8 3 006 a p p e n 0005560 d 005 e r r o r 005 c d d d r \t m o 0005600 r e - b o d y 004 b o d y 004 e x p 0005620 r 003 v a r 005 c a d d r 006 g e n s 0005640 y m 005 f i r s t 005 t h u n k 004 c 0005660 a a r 006 l a m b d a 006 g a t h e 0005700 r 004 l e t * 006 i g n o r e 005 c a 0005720 d a r 006 c a a a d r 006 c d a a d 0005740 r 003 m a p 003 t 8 1 003 t 7 5 \v m a 0005760 k e - s y n t a x 003 t 7 1 003 t 8 0006000 4 021 020 I n t e r p r e t e d 0006020 C o d e 022 \0 017 023 023 002 \a % \a 002 003 037 0006040 \n \0 002 032 ( 001 003 $ 001 025 * 021 022 A n 0006060 o n y m o u s f u n c t i o n 0006100 022 \b \a ' \a & \a $ \a # \a 003 \a 003 \a 003 0006120 \a 003 016 023 023 004 ' \a \0 \a \t \a 027 \a \t \a 0006140 \0 \a \0 \a \0 \a 001 \a 004 \a ! \a \0 \a 001 \a 0006160 \a 001 \a \0 \a 026 \a 017 \a 021 \a 001 \a 001 \a 0006200 001 \a 020 \a \t \a " \a \b \a \t \a \0 \a \0 \a 0006220 017 \a \b \a \b \a \0 \a 026 \a 017 \a 021 \a 001 \a 0006240 \0 \a 020 \a 020 004 " 037 202 030 \0 \r 032 024 \0 0006260 004 & \0 001 033 025 026 001 005 022 u 034 002 & \0 0006300 002 035 027 030 005 002 005 022 i 036 004 030 006 036 005 0006320 036 006 036 \a 002 036 \b 036 \t 001 003 003 004 036 0006340 \n 036 \v 036 \f 001 003 036 \r 030 \a 002 004 004 0006360 030 \b 004 004 036 016 036 017 001 003 036 020 036 021 0006400 001 003 036 022 036 023 036 024 030 \t 002 004 003 003 004 0006420 004 004 \n 036 025 030 \n 030 \v 002 030 \f \f 004 036 0006440 026 030 \r 030 016 001 005 023 001 017 036 027 ( 017 030 0006460 020 & \0 004 ( 021 & \0 004 004 036 030 001 003 0006500 003 004 & \0 003 036 031 030 022 030 023 003 005 023 001 0006520 003 036 032 030 024 036 033 036 034 030 025 & \0 005 ( 026 0006540 & \0 005 005 036 035 001 003 003 004 030 027 & 0006560 \0 006 ( 030 & \0 006 006 003 036 036 001 003 0006600 004 030 031 005 036 037 036 001 003 036 ! 036 " 0006620 001 003 036 # 036 $ 030 032 030 033 & \0 \a ( 034 & 0006640 \0 \a \a 003 003 004 003 004 004 004 \n 036 % 030 0006660 035 030 036 003 030 037 \f 004 036 & 030 030 ! 0006700 001 \v \a 002 001 \a 002 004 005 \a 002 001 002 \a 025 \a 0006720 024 \a 023 \a 022 \a \a \0 \a \n \a 035 \a 004 001 002 0006740 \a 034 003 \a 033 002 \a \f \a \v 002 \a \v \a \f \a 0006760 \b \a 002 021 033 d o e s n o t f i 0007000 t ' w i t h ' p a t t e r n 0007020 \a \n 001 \a 002 004 005 \a 002 002 002 \a 025 \a 024 \a 0007040 \a \a 023 \a 022 \a \a 021 022 A n o n y m 0007060 o u s f u n c t i o n 022 001 \a 036 0007100 017 024 024 001 \a 027 001 037 004 \0 001 032 \b 021 \b ( 0007120 i g n o r e ) \0 017 \a 003 022 001 \a \r 0007140 017 024 024 004 004 \a 006 \a \0 \a 032 \a 005 002 037 030 0007160 \0 005 032 \0 003 022 \n 024 * 033 034 \0 003 ! 0007200 001 004 035 \0 003 003 \n \0 021 005 ( t 7 8 ) 0007220 \0 \0 002 \a \n \a \a \a 035 017 \a 003 022 004 \a 0007240 \r \a 016 \a 030 \a 031 017 027 002 027 002 004 \a \a 006 0007260 \a \0 \a 001 \a 004 \a 037 \a 005 \a 005 003 037 8 \0 0007300 006 032 \0 003 & \0 002 ( 001 & \0 003 002 022 0007320 026 002 016 031 003 002 022 035 025 * 033 034 035 0007340 001 003 036 004 \0 003 004 ! 001 005 036 005 \0 003 0007360 036 006 001 003 004 \n 021 022 A n o n y m 0007400 o u s f u n c t i o n 022 \0 017 023 0007420 023 001 \a 006 001 037 \a \0 002 032 ! 001 001 \t 021 002 0007440 ( ) \0 \0 021 \t ( t 7 8 t 8 3 ) \0 0007460 017 \a 003 022 004 \a 016 \a \r \a 030 \a 031 017 027 0007500 002 027 002 004 \b \a 006 \a \0 \a 001 \a 032 \a 001 \a 0007520 004 \a 005 \a 005 004 004 037 < \0 \a 032 \0 003 & 0007540 \0 002 ( 001 & \0 003 002 022 026 002 016 031 0007560 003 002 022 035 025 * 033 034 035 001 003 036 004 026 036 0007600 005 \0 003 004 004 ! 001 006 036 006 \0 003 036 \a 0007620 001 003 004 \n 021 022 A n o n y m o u 0007640 s f u n c t i o n 022 \0 017 023 023 001 0007660 \a 006 001 037 \a \0 002 032 ! 001 001 \t 021 002 ( ) 0007700 \0 \0 \a 004 021 \t ( t 8 3 t 7 8 ) \0 0007720 001 002 \a 034 003 \a 033 002 \a \f \a \v 002 \a \v \a 0007740 \f \a 001 017 \a 003 022 001 \a 016 017 024 024 004 006 0007760 \a 006 \a \0 \a 001 \a 001 \a 004 \a 005 003 037 037 \0 0010000 006 032 \0 003 022 \n 024 * 033 034 035 025 036 004 0010020 \0 003 004 003 ! 001 \a 036 005 \0 003 003 \n \0 \a 0010040 \b 021 005 ( t 8 3 ) \0 \a 002 021 033 d o e 0010060 s n o t f i t ' w i t h ' 0010100 p a t t e r n 002 \a \n \a \a \a 002 021 0010120 016 i n v a l i d s y n t a x 021 0010140 003 t 8 4 \0 \a 002 021 002 ( ) \0 \n # 001 006 0010160 \a \r l i s t - e l e m e n t s \f 0010200 w h e n - d o n e - f n 004 l i s 0010220 t 003 c d r 003 c a r 005 n u l l ? 003 0010240 e l t 021 020 I n t e r p r e t e 0010260 d C o d e 022 \0 017 023 023 001 \a \0 003 037 0010300 \b \0 001 ( 001 $ \0 025 * \a \0 022 001 \a 002 0010320 017 024 024 \0 002 037 005 \0 001 ( 001 * 021 022 A 0010340 n o n y m o u s f u n c t i o 0010360 n 022 002 \a 001 \a 006 017 024 024 003 \a 005 \a 004 \a 0010400 003 001 037 037 \0 002 032 ! 001 \0 003 022 \f \0 \b 0010420 033 ! 001 \0 003 & \0 001 034 ! 001 \0 003 & 001 \0 0010440 001 * 021 016 ( w h e n - d o n e - 0010460 f n ) \0 021 006 ( l i s t ) \0 \a \0 021 0010500 002 ( ) \0 \n # 001 006 006 \n l i s t - t 0010520 a i l s 004 l i s t 003 c d r 005 n u 0010540 l l ? 004 p r e v \f w h e n - d o 0010560 n e - f n 021 020 I n t e r p r e 0010600 t e d C o d e 022 \0 017 023 023 001 \a \0 0010620 003 037 \b \0 001 ( 001 $ \0 025 * \a \0 022 001 0010640 \a 001 017 024 024 \0 002 037 005 \0 001 ( 001 * 021 0010660 022 A n o n y m o u s f u n c t 0010700 i o n 022 002 \a 005 \a 004 017 024 024 002 \a 003 \a 0010720 002 001 037 035 \0 002 032 ! 001 \0 003 022 \f \0 \b 0010740 ! 001 \0 & \0 001 033 ! 001 \0 003 & 001 \0 001 0010760 * 021 016 ( w h e n - d o n e - f n 0011000 ) \0 021 006 ( l i s t ) \0 \a \0 021 002 ( 0011020 ) \0 \n # 001 006 016 003 n o t \b i n t e 0011040 r v a l 005 n u l l ? 003 c a r 001 + 0011060 005 o l d - n \f w h e n - d o n e 0011100 - f n 001 > 003 c d r 004 f r o m 004 s 0011120 t e p 002 t o 001 n 004 r e s t 021 020 0011140 I n t e r p r e t e d C o d e 0011160 022 \0 017 023 023 001 \a 001 003 037 \b \0 001 ( 001 $ 0011200 \0 025 * \a 001 022 005 \a \t \a \r \a \f \a \v 0011220 \a \n 016 024 024 004 \b \a \0 \a 002 \a 003 \a \b \a 0011240 \0 \a 002 \a 003 \a \0 004 005 037 H \0 003 \0 & 0011260 \0 002 024 & \0 003 025 & \0 004 032 033 001 003 003 0011300 022 ' 034 001 003 & \0 003 035 001 003 & \0 001 0011320 016 ' 036 004 036 005 001 003 003 022 ; 036 006 001 0011340 003 & \0 004 016 ; 036 \a 003 003 022 E ( 003 * 0011360 ( 004 * 017 024 021 022 A n o n y m o u 0011400 s f u n c t i o n 022 002 \a 006 \a 005 0011420 017 024 024 001 \a 004 001 037 026 \0 003 ! 001 002 & \0 0011440 001 032 ! 001 002 ! 001 004 004 & 001 002 001 * 021 0011460 016 ( w h e n - d o n e - f n ) \0 0011500 021 022 A n o n y m o u s f u n 0011520 c t i o n 022 002 \a 006 \a 005 017 024 024 002 \a 0011540 \a \a 004 001 037 # \0 003 032 ! 001 002 ! 001 003 004 0011560 022 017 \0 \b ! 001 002 & \0 001 033 ! 001 002 ! 0011600 001 004 004 & 001 002 001 * 021 016 ( w h e n 0011620 - d o n e - f n ) \0 021 { ( f r o 0011640 m [ t o [ s t e p ] ] ) G 0011660 e n e r a t e t h e n u m b 0011700 e r s F R O M < = F R O M 0011720 + k * S T E P < = T O . 0011740 T O d e f a u l t s t o 0011760 p o s i t i v e i n f i n i 0012000 t y , S T E P d e f a u l t 0012020 s t o 1 . \0 \a 001 021 002 ( ) \0 \n 0012040 # 001 006 016 003 n o t 023 i n t e r v a 0012060 l - d e c r e a s i n g 005 n u l 0012100 l ? 003 c a r 001 - 005 o l d - n \f w 0012120 h e n - d o n e - f n 001 < 003 c d 0012140 r 004 f r o m 004 s t e p 002 t o 001 n 0012160 004 r e s t 021 020 I n t e r p r e 0012200 t e d C o d e 022 \0 017 023 023 001 \a 001 0012220 003 037 \b \0 001 ( 001 $ \0 025 * \a 001 022 005 0012240 \a \t \a \r \a \f \a \v \a \n 016 024 024 004 \b \a 0012260 \0 \a 002 \a 003 \a \b \a \0 \a 002 \a 003 \a \0 004 0012300 005 037 H \0 003 \0 & \0 002 024 & \0 003 025 & 0012320 \0 004 032 033 001 003 003 022 ' 034 001 003 & \0 0012340 003 035 001 003 & \0 001 016 ' 036 004 036 005 001 0012360 003 003 022 ; 036 006 001 003 & \0 004 016 ; 036 \a 0012400 003 003 022 E ( 003 * ( 004 * 017 024 021 022 0012420 A n o n y m o u s f u n c t i 0012440 o n 022 002 \a 006 \a 005 017 024 024 001 \a 004 001 037 0012460 026 \0 003 ! 001 002 & \0 001 032 ! 001 002 ! 001 004 0012500 004 & 001 002 001 * 021 016 ( w h e n - d 0012520 o n e - f n ) \0 021 022 A n o n y 0012540 m o u s f u n c t i o n 022 002 \a 0012560 006 \a 005 017 024 024 002 \a \a \a 004 001 037 # \0 003 0012600 032 ! 001 002 ! 001 003 004 022 017 \0 \b ! 001 002 0012620 & \0 001 033 ! 001 002 ! 001 004 004 & 001 002 001 0012640 * 021 016 ( w h e n - d o n e - f n 0012660 ) \0 021 { ( f r o m [ t o [ s 0012700 t e p ] ] ) G e n e r a t e 0012720 t h e n u m b e r s T O < 0012740 = F R O M - k * S T E P 0012760 < = F R O M . T O d e f 0013000 a u l t s t o n e g a t i v 0013020 e i n f i n i t y , S T E P 0013040 d e f a u l t s t o 1 . \0 0013060 \a 001 021 002 ( ) \0 \n # 001 006 \n 017 v e c 0013100 t o r - e l e m e n t s 006 v e c 0013120 t o r 001 + \n v e c t o r - r e f 0013140 002 > = 003 e l t \f w h e n - d o n 0013160 e - f n \r v e c t o r - l e n g 0013200 t h 006 l e n g t h 005 i n d e x 0013220 021 020 I n t e r p r e t e d C o 0013240 d e 022 \0 017 023 023 001 \a \0 003 037 \b \0 001 ( 0013260 001 $ \0 025 * \a \0 022 003 \a 001 \a \t \a \b 0013300 017 024 024 001 \a \a 003 037 020 \0 002 024 & \0 001 032 0013320 \0 003 & \0 002 ( 002 * 023 021 022 A n o 0013340 n y m o u s f u n c t i o n 022 0013360 002 \a 006 \a 005 017 024 024 003 \a 004 \a 003 \a 002 002 0013400 037 & \0 003 032 ! 001 001 ! 001 002 004 022 017 \0 0013420 \b 033 ! 001 \0 ! 001 001 004 & \0 001 034 ! 001 001 0013440 024 004 & 001 001 001 * 024 021 016 ( w h e n 0013460 - d o n e - f n ) \0 021 \b ( v e c 0013500 t o r ) \0 \a \0 021 002 ( ) \0 \n # 001 006 0013520 005 \t i n i t - s t e p \f w h e n 0013540 - d o n e - f n \v f i r s t - t 0013560 i m e ? \a s t e p - f n 005 v a l 0013600 u e 021 020 I n t e r p r e t e d 0013620 C o d e 022 \0 017 023 023 001 \a \0 003 037 \b 0013640 \0 001 ( 001 $ \0 025 * \a \0 022 003 \a 004 \a 0013660 003 \a 002 017 027 002 027 002 \0 003 037 \t \0 001 024 & 0013700 \0 002 ( 002 * 016 021 022 A n o n y m o 0013720 u s f u n c t i o n 022 001 \a 001 017 0013740 024 024 \0 002 037 033 \0 002 ! 001 002 022 \r 024 & 001 0013760 002 016 027 ! 001 001 ! 001 \0 003 & 001 \0 ! 001 \0 0014000 * 017 021 016 ( w h e n - d o n e - f 0014020 n ) \0 021 017 ( v a l u e s t e p 0014040 - f n ) \0 \a \0 021 002 ( ) \0 \n # 001 006 0014060 016 \t e a c h - t i m e \f w h e n 0014100 - d o n e - f n 005 e r r o r 004 l 0014120 i s t \r s y n t a x - m a t c h 0014140 ? 006 g e n s y m 004 c a d r 004 e x 0014160 p r 006 l a m b d a \v m a k e - s 0014200 y n t a x 004 c o n s 003 t 8 6 003 t 0014220 8 5 003 t 8 7 021 020 I n t e r p r 0014240 e t e d C o d e 022 \0 017 023 023 002 \a 0014260 \t \a \0 003 037 \n \0 002 032 ( 001 003 $ 001 025 * 0014300 021 022 A n o n y m o u s f u n 0014320 c t i o n 022 003 \a \r \a \f \a \v 016 023 023 0014340 004 \t \a \n \a 004 \a 005 \a 004 \a 003 \a 003 \a 006 0014360 \a 002 \a 002 004 \f 037 D \0 005 032 024 \0 004 & 0014400 \0 001 033 025 026 001 005 022 ; 034 002 & \0 002 035 0014420 027 030 005 002 005 022 / 036 004 030 006 036 005 002 0014440 003 036 006 001 003 \v 036 \a 030 \a 030 \b 002 030 0014460 \t \f 004 036 \b 030 \n 030 \v 001 \v \a \0 001 \a 0014500 \0 002 \a \0 \a \a \0 \a 001 \a \b \a \0 021 033 d 0014520 o e s n o t f i t ' w i t 0014540 h ' p a t t e r n \a 001 \a \0 021 016 0014560 i n v a l i d s y n t a x 021 003 0014600 t 8 7 \0 \a \0 021 002 ( ) \0 \n # 001 006 020 0014620 005 w h i l e 004 l i s t 005 e r r o 0014640 r \f w h e n - d o n e - f n \r s 0014660 y n t a x - m a t c h ? 006 g e n 0014700 s y m 004 c o n s 003 t 8 9 \v m a k 0014720 e - s y n t a x 003 t 8 8 003 t 9 0 0014740 006 l a m b d a 003 n o t 002 i f 004 e 0014760 x p r 004 c a d r 021 020 I n t e r 0015000 p r e t e d C o d e 022 \0 017 023 023 0015020 002 \a \b \a \0 003 037 \n \0 002 032 ( 001 003 $ 001 0015040 025 * 021 022 A n o n y m o u s f 0015060 u n c t i o n 022 003 \a \n \a \t \a \a 016 0015100 023 023 004 \f \a 006 \a 004 \a 005 \a 004 \a 001 \a 001 0015120 \a 001 \a 001 \a 017 \a 001 \a 002 \a 002 004 016 037 S 0015140 \0 \t 032 024 \0 004 & \0 001 033 025 026 001 005 0015160 022 J 034 002 & \0 002 035 027 030 005 002 005 022 > 0015200 036 004 030 006 036 005 002 003 036 006 030 \a 036 \a 030 0015220 \b 036 \b 001 003 004 036 \t 002 003 005 \v 036 \n 0015240 030 \t 030 \n 002 030 \v \f 004 036 \v 030 \f 030 \r 0015260 001 \v \a \0 001 \a \0 002 \a \0 \a 016 \0 \a 003 0015300 \a \v \a \r \a \f \a \0 021 033 d o e s n 0015320 o t f i t ' w i t h ' p a 0015340 t t e r n \a 003 \a \0 021 016 i n v a l 0015360 i d s y n t a x 021 003 t 9 0 \0 \a 0015400 \0 021 002 ( ) \0 \n # 001 006 017 005 u n t i 0015420 l 004 l i s t 005 e r r o r \f w h e 0015440 n - d o n e - f n \r s y n t a x 0015460 - m a t c h ? 004 c o n s 003 t 9 2 0015500 003 t 9 1 003 t 9 4 \v m a k e - s y 0015520 n t a x 004 e x p r 002 i f 006 l a m 0015540 b d a 004 c a d r 006 g e n s y m 0015560 021 020 I n t e r p r e t e d C o 0015600 d e 022 \0 017 023 023 002 \a \t \a \0 003 037 \n \0 0015620 002 032 ( 001 003 $ 001 025 * 021 022 A n o n 0015640 y m o u s f u n c t i o n 022 003 0015660 \a \b \a \a \a 006 016 023 023 004 \v \a 005 \a 004 \a 0015700 016 \a 004 \a 001 \a 001 \a 001 \a \r \a 001 \a 002 \a 0015720 002 004 \r 037 N \0 \b 032 024 \0 004 & \0 001 033 0015740 025 026 001 005 022 E 034 002 & \0 002 035 027 030 005 0015760 002 005 022 9 036 004 030 006 036 005 002 003 036 006 0016000 030 \a 036 \a 001 003 036 \b 002 003 005 \v 036 \t 0016020 030 \b 030 \t 002 030 \n \f 004 036 \n 030 \v 030 \f 0016040 001 \v \a \0 001 \a \0 002 \a \0 \a \n \0 \a 003 0016060 \a \f \a \v \a \0 021 033 d o e s n o t 0016100 f i t ' w i t h ' p a t t 0016120 e r n \a 003 \a \0 021 016 i n v a l i d 0016140 s y n t a x 021 003 t 9 4 \0 \a \0 021 0016160 002 ( ) \0 \n # 001 006 \b 004 l i s t \n c 0016200 o l l e c t i n g 004 h e a d 004 t 0016220 a i l 003 c d r \b s e t - c d r ! 0016240 005 n u l l ? 005 v a l u e 021 020 I 0016260 n t e r p r e t e d C o d e 022 0016300 \0 017 023 023 001 \a 001 003 037 \b \0 001 ( 001 $ \0 0016320 025 * \a 001 022 002 \a 002 \a 003 017 023 023 001 \a 0016340 \0 004 005 037 020 \0 003 024 & \0 \0 025 & \0 001 032 0016360 ( 003 ( 004 \n \0 \0 021 022 A n o n y m 0016400 o u s f u n c t i o n 022 001 \a \a 0016420 017 024 024 004 005 \a 006 \a \0 \a 005 \a \0 \a 004 003 0016440 037 - \0 004 032 ! 001 \0 003 022 030 033 \0 003 & 0016460 001 \0 ! 001 \0 & 001 001 024 * 034 ! 001 001 035 0016500 \0 003 004 # 036 004 ! 001 001 003 & 001 001 025 * 036 0016520 036 021 \a ( v a l u e ) \0 021 022 A n 0016540 o n y m o u s f u n c t i o n 0016560 022 \0 017 023 023 \0 001 037 006 \0 001 ! 001 \0 * 021 0016600 002 ( ) \0 021 002 ( ) \0 \a 001 021 002 ( ) \0 0016620 \n # 001 006 005 \a s u m m i n g 001 + 005 0016640 v a l u e 004 l i s t 003 s u m 021 0016660 020 I n t e r p r e t e d C o d 0016700 e 022 \0 017 023 023 001 \a \0 003 037 \b \0 001 ( 001 0016720 $ \0 025 * \a \0 022 001 \a 004 017 023 023 001 \a 0016740 003 004 004 037 \f \0 003 024 & \0 \0 032 ( 002 ( 003 0016760 \n 023 021 022 A n o n y m o u s f 0017000 u n c t i o n 022 001 \a 002 017 024 024 001 \a 0017020 001 002 037 016 \0 003 032 ! 001 \0 \0 004 & 001 \0 0017040 024 * 036 021 \a ( v a l u e ) \0 021 022 0017060 A n o n y m o u s f u n c t i 0017100 o n 022 \0 017 023 023 \0 001 037 006 \0 001 ! 001 \0 0017120 * 021 002 ( ) \0 021 002 ( ) \0 \a \0 021 002 ( 0017140 ) \0 \n # 001 006 005 \b c o u n t i n g 0017160 001 + 004 f l a g 004 l i s t 005 c o u 0017200 n t 021 020 I n t e r p r e t e d 0017220 C o d e 022 \0 017 023 023 001 \a \0 003 037 \b 0017240 \0 001 ( 001 $ \0 025 * \a \0 022 001 \a 004 017 0017260 023 023 001 \a 003 004 004 037 \f \0 003 024 & \0 \0 032 0017300 ( 002 ( 003 \n 023 021 022 A n o n y m o 0017320 u s f u n c t i o n 022 001 \a 002 017 0017340 024 024 001 \a 001 004 004 037 023 \0 003 \0 022 021 032 0017360 ! 001 \0 024 004 & 001 \0 025 * 026 * 024 036 036 021 0017400 006 ( f l a g ) \0 021 022 A n o n y 0017420 m o u s f u n c t i o n 022 \0 017 0017440 023 023 \0 001 037 006 \0 001 ! 001 \0 * 021 002 ( ) 0017460 \0 021 002 ( ) \0 \a \0 021 002 ( ) \0 \n # 001 0017500 006 006 \n m a x i m i z i n g 003 t o 0017520 p 003 m a x 003 n o t 005 v a l u e 004 0017540 l i s t 021 020 I n t e r p r e t 0017560 e d C o d e 022 \0 017 023 023 001 \a \0 003 0017600 037 \b \0 001 ( 001 $ \0 025 * \a \0 022 001 \a 0017620 001 017 023 023 001 \a 005 004 004 037 \f \0 003 024 & \0 0017640 \0 032 ( 002 ( 003 \n 017 021 022 A n o n y 0017660 m o u s f u n c t i o n 022 001 \a 0017700 004 017 024 024 002 \a 003 \a 002 003 037 034 \0 003 032 ! 0017720 001 \0 003 022 020 \0 & 001 \0 024 * 033 ! 001 \0 0017740 \0 004 & 001 \0 025 * 036 036 021 \a ( v a l 0017760 u e ) \0 021 022 A n o n y m o u s 0020000 f u n c t i o n 022 \0 017 023 023 \0 001 0020020 037 006 \0 001 ! 001 \0 * 021 002 ( ) \0 021 002 ( 0020040 ) \0 \a \0 021 002 ( ) \0 \n # 001 006 006 \n m 0020060 i n i m i z i n g 006 b o t t o m 0020100 003 m i n 003 n o t 005 v a l u e 004 l 0020120 i s t 021 020 I n t e r p r e t e 0020140 d C o d e 022 \0 017 023 023 001 \a \0 003 037 0020160 \b \0 001 ( 001 $ \0 025 * \a \0 022 001 \a 001 0020200 017 023 023 001 \a 005 004 004 037 \f \0 003 024 & \0 \0 0020220 032 ( 002 ( 003 \n 017 021 022 A n o n y m 0020240 o u s f u n c t i o n 022 001 \a 004 0020260 017 024 024 002 \a 003 \a 002 003 037 034 \0 003 032 ! 001 0020300 \0 003 022 020 \0 & 001 \0 024 * 033 ! 001 \0 0020320 \0 004 & 001 \0 025 * 036 036 021 \a ( v a l u 0020340 e ) \0 021 022 A n o n y m o u s 0020360 f u n c t i o n 022 \0 017 023 023 \0 001 037 0020400 006 \0 001 ! 001 \0 * 021 002 ( ) \0 021 002 ( ) 0020420 \0 \a \0 021 002 ( ) \0 \n # 001 006 \t \t a p 0020440 p e n d i n g \t l a s t - p a i 0020460 r 006 a p p e n d 005 n u l l ? \b s 0020500 e t - c d r ! 005 v a l u e 004 l i 0020520 s t 004 t a i l 004 h e a d 021 020 I 0020540 n t e r p r e t e d C o d e 022 0020560 \0 017 023 023 001 \a \0 003 037 \b \0 001 ( 001 $ \0 0020600 025 * \a \0 022 002 \a \b \a \a 017 023 023 001 \a 0020620 006 004 005 037 020 \0 003 024 & \0 \0 025 & \0 001 032 0020640 ( 003 ( 004 \n \0 \0 021 022 A n o n y m 0020660 o u s f u n c t i o n 022 001 \a 005 0020700 017 024 024 004 006 \a 003 \a 002 \a 001 \a 004 \a 002 \a 0020720 001 004 005 037 2 \0 005 032 ! 001 \0 003 022 033 033 0020740 \0 024 004 & 001 \0 034 ! 001 \0 003 & 001 001 025 * 0020760 035 ! 001 001 036 004 \0 026 004 004 # 036 005 ! 001 0021000 001 003 & 001 001 027 * \0 036 \0 036 021 \a ( v a 0021020 l u e ) \0 021 022 A n o n y m o u 0021040 s f u n c t i o n 022 \0 017 023 023 \0 0021060 001 037 006 \0 001 ! 001 \0 * 021 002 ( ) \0 021 002 0021100 ( ) \0 \a \0 021 002 ( ) \0 \n # 001 006 \b \n 0021120 a p p e n d i n g ! \t l a s t - 0021140 p a i r \b s e t - c d r ! 005 n u 0021160 l l ? 005 v a l u e 004 h e a d 004 l 0021200 i s t 004 t a i l 021 020 I n t e r 0021220 p r e t e d C o d e 022 \0 017 023 023 0021240 001 \a \0 003 037 \b \0 001 ( 001 $ \0 025 * \a 0021260 \0 022 002 \a 005 \a \a 017 023 023 001 \a 006 004 005 037 0021300 020 \0 003 024 & \0 \0 025 & \0 001 032 ( 003 ( 004 0021320 \n \0 \0 021 022 A n o n y m o u s 0021340 f u n c t i o n 022 001 \a 004 017 024 024 004 0021360 004 \a 003 \a 001 \a 002 \a 001 003 037 * \0 003 032 ! 0021400 001 \0 003 022 030 \0 & 001 \0 033 ! 001 \0 003 & 0021420 001 001 024 * 034 ! 001 001 \0 004 # 035 ! 001 001 0021440 003 & 001 001 025 * 036 036 021 \a ( v a l u e 0021460 ) \0 021 022 A n o n y m o u s f 0021500 u n c t i o n 022 \0 017 023 023 \0 001 037 006 0021520 \0 001 ! 001 \0 * 021 002 ( ) \0 021 002 ( ) \0 0021540 \a \0 021 002 ( ) \0 \n 0021550