; This benchmark measures the cost of case dispatch ; on various kinds of constants, for varying universe ; sizes. ; Returns a case expression of the form ; ; (case x ; (() (f (+ sum ))) ; (() (f (- sum ))) ; ... ; (else (+ sum (- hi lo)))) (define (make-case-expression-with-fixnums lo hi x sum f) (make-case-expression (lambda (x) x) lo hi x sum f)) (define (make-case-expression-with-symbols lo hi x sum f) (make-case-expression fixnum->symbol lo hi x sum f)) (define (make-case-expression translated lo hi x sum f) (do ((clauses `((else (+ ,sum ,(- hi lo)))) (cons `((,(translated hi)) (,f ,(translated (+ hi 1)) (,parity ,sum ,hi))) clauses)) (hi hi (- hi 1)) (parity '+ (if (eq? parity '+) '- '+))) ((< hi lo) `(case ,x ,@clauses)))) (define (fixnum->symbol k) (define (digit->string c) (case c ((#\0) "zero") ((#\1) "one") ((#\2) "two") ((#\3) "three") ((#\4) "four") ((#\5) "five") ((#\6) "six") ((#\7) "seven") ((#\8) "eight") ((#\9) "nine") (else "huh?"))) (let* ((digits (string->list (number->string k))) (strings (map digit->string digits))) (list 'quote (string->symbol (apply string-append strings))))) (define (make-benchmark-fixnum name n) `(define (,name x) (define (f x sum) ,(make-case-expression-with-fixnums 1 n 'x 'sum 'f)) (f x 0))) (define (make-benchmark-symbol name n) `(define (,name x) (define (f x sum) ,(make-case-expression-with-symbols 1 n 'x 'sum 'f)) (f x 0))) ; The benchmarked computations. (define (f10 x) (define (f x sum) (case x ((1) (f 2 (- sum 1))) ((2) (f 3 (+ sum 2))) ((3) (f 4 (- sum 3))) ((4) (f 5 (+ sum 4))) ((5) (f 6 (- sum 5))) ((6) (f 7 (+ sum 6))) ((7) (f 8 (- sum 7))) ((8) (f 9 (+ sum 8))) ((9) (f 10 (- sum 9))) ((10) (f 11 (+ sum 10))) (else (+ sum 9)))) (f x 0)) (define (s10 x) (define (f x sum) (case x ((one) (f 'two (- sum 1))) ((two) (f 'three (+ sum 2))) ((three) (f 'four (- sum 3))) ((four) (f 'five (+ sum 4))) ((five) (f 'six (- sum 5))) ((six) (f 'seven (+ sum 6))) ((seven) (f 'eight (- sum 7))) ((eight) (f 'nine (+ sum 8))) ((nine) (f 'onezero (- sum 9))) ((onezero) (f 'oneone (+ sum 10))) (else (+ sum 9)))) (f x 0)) (define (f100 x) (define (f x sum) (case x ((1) (f 2 (- sum 1))) ((2) (f 3 (+ sum 2))) ((3) (f 4 (- sum 3))) ((4) (f 5 (+ sum 4))) ((5) (f 6 (- sum 5))) ((6) (f 7 (+ sum 6))) ((7) (f 8 (- sum 7))) ((8) (f 9 (+ sum 8))) ((9) (f 10 (- sum 9))) ((10) (f 11 (+ sum 10))) ((11) (f 12 (- sum 11))) ((12) (f 13 (+ sum 12))) ((13) (f 14 (- sum 13))) ((14) (f 15 (+ sum 14))) ((15) (f 16 (- sum 15))) ((16) (f 17 (+ sum 16))) ((17) (f 18 (- sum 17))) ((18) (f 19 (+ sum 18))) ((19) (f 20 (- sum 19))) ((20) (f 21 (+ sum 20))) ((21) (f 22 (- sum 21))) ((22) (f 23 (+ sum 22))) ((23) (f 24 (- sum 23))) ((24) (f 25 (+ sum 24))) ((25) (f 26 (- sum 25))) ((26) (f 27 (+ sum 26))) ((27) (f 28 (- sum 27))) ((28) (f 29 (+ sum 28))) ((29) (f 30 (- sum 29))) ((30) (f 31 (+ sum 30))) ((31) (f 32 (- sum 31))) ((32) (f 33 (+ sum 32))) ((33) (f 34 (- sum 33))) ((34) (f 35 (+ sum 34))) ((35) (f 36 (- sum 35))) ((36) (f 37 (+ sum 36))) ((37) (f 38 (- sum 37))) ((38) (f 39 (+ sum 38))) ((39) (f 40 (- sum 39))) ((40) (f 41 (+ sum 40))) ((41) (f 42 (- sum 41))) ((42) (f 43 (+ sum 42))) ((43) (f 44 (- sum 43))) ((44) (f 45 (+ sum 44))) ((45) (f 46 (- sum 45))) ((46) (f 47 (+ sum 46))) ((47) (f 48 (- sum 47))) ((48) (f 49 (+ sum 48))) ((49) (f 50 (- sum 49))) ((50) (f 51 (+ sum 50))) ((51) (f 52 (- sum 51))) ((52) (f 53 (+ sum 52))) ((53) (f 54 (- sum 53))) ((54) (f 55 (+ sum 54))) ((55) (f 56 (- sum 55))) ((56) (f 57 (+ sum 56))) ((57) (f 58 (- sum 57))) ((58) (f 59 (+ sum 58))) ((59) (f 60 (- sum 59))) ((60) (f 61 (+ sum 60))) ((61) (f 62 (- sum 61))) ((62) (f 63 (+ sum 62))) ((63) (f 64 (- sum 63))) ((64) (f 65 (+ sum 64))) ((65) (f 66 (- sum 65))) ((66) (f 67 (+ sum 66))) ((67) (f 68 (- sum 67))) ((68) (f 69 (+ sum 68))) ((69) (f 70 (- sum 69))) ((70) (f 71 (+ sum 70))) ((71) (f 72 (- sum 71))) ((72) (f 73 (+ sum 72))) ((73) (f 74 (- sum 73))) ((74) (f 75 (+ sum 74))) ((75) (f 76 (- sum 75))) ((76) (f 77 (+ sum 76))) ((77) (f 78 (- sum 77))) ((78) (f 79 (+ sum 78))) ((79) (f 80 (- sum 79))) ((80) (f 81 (+ sum 80))) ((81) (f 82 (- sum 81))) ((82) (f 83 (+ sum 82))) ((83) (f 84 (- sum 83))) ((84) (f 85 (+ sum 84))) ((85) (f 86 (- sum 85))) ((86) (f 87 (+ sum 86))) ((87) (f 88 (- sum 87))) ((88) (f 89 (+ sum 88))) ((89) (f 90 (- sum 89))) ((90) (f 91 (+ sum 90))) ((91) (f 92 (- sum 91))) ((92) (f 93 (+ sum 92))) ((93) (f 94 (- sum 93))) ((94) (f 95 (+ sum 94))) ((95) (f 96 (- sum 95))) ((96) (f 97 (+ sum 96))) ((97) (f 98 (- sum 97))) ((98) (f 99 (+ sum 98))) ((99) (f 100 (- sum 99))) ((100) (f 101 (+ sum 100))) (else (+ sum 99)))) (f x 0)) (define (s100 x) (define (f x sum) (case x ((one) (f 'two (- sum 1))) ((two) (f 'three (+ sum 2))) ((three) (f 'four (- sum 3))) ((four) (f 'five (+ sum 4))) ((five) (f 'six (- sum 5))) ((six) (f 'seven (+ sum 6))) ((seven) (f 'eight (- sum 7))) ((eight) (f 'nine (+ sum 8))) ((nine) (f 'onezero (- sum 9))) ((onezero) (f 'oneone (+ sum 10))) ((oneone) (f 'onetwo (- sum 11))) ((onetwo) (f 'onethree (+ sum 12))) ((onethree) (f 'onefour (- sum 13))) ((onefour) (f 'onefive (+ sum 14))) ((onefive) (f 'onesix (- sum 15))) ((onesix) (f 'oneseven (+ sum 16))) ((oneseven) (f 'oneeight (- sum 17))) ((oneeight) (f 'onenine (+ sum 18))) ((onenine) (f 'twozero (- sum 19))) ((twozero) (f 'twoone (+ sum 20))) ((twoone) (f 'twotwo (- sum 21))) ((twotwo) (f 'twothree (+ sum 22))) ((twothree) (f 'twofour (- sum 23))) ((twofour) (f 'twofive (+ sum 24))) ((twofive) (f 'twosix (- sum 25))) ((twosix) (f 'twoseven (+ sum 26))) ((twoseven) (f 'twoeight (- sum 27))) ((twoeight) (f 'twonine (+ sum 28))) ((twonine) (f 'threezero (- sum 29))) ((threezero) (f 'threeone (+ sum 30))) ((threeone) (f 'threetwo (- sum 31))) ((threetwo) (f 'threethree (+ sum 32))) ((threethree) (f 'threefour (- sum 33))) ((threefour) (f 'threefive (+ sum 34))) ((threefive) (f 'threesix (- sum 35))) ((threesix) (f 'threeseven (+ sum 36))) ((threeseven) (f 'threeeight (- sum 37))) ((threeeight) (f 'threenine (+ sum 38))) ((threenine) (f 'fourzero (- sum 39))) ((fourzero) (f 'fourone (+ sum 40))) ((fourone) (f 'fourtwo (- sum 41))) ((fourtwo) (f 'fourthree (+ sum 42))) ((fourthree) (f 'fourfour (- sum 43))) ((fourfour) (f 'fourfive (+ sum 44))) ((fourfive) (f 'foursix (- sum 45))) ((foursix) (f 'fourseven (+ sum 46))) ((fourseven) (f 'foureight (- sum 47))) ((foureight) (f 'fournine (+ sum 48))) ((fournine) (f 'fivezero (- sum 49))) ((fivezero) (f 'fiveone (+ sum 50))) ((fiveone) (f 'fivetwo (- sum 51))) ((fivetwo) (f 'fivethree (+ sum 52))) ((fivethree) (f 'fivefour (- sum 53))) ((fivefour) (f 'fivefive (+ sum 54))) ((fivefive) (f 'fivesix (- sum 55))) ((fivesix) (f 'fiveseven (+ sum 56))) ((fiveseven) (f 'fiveeight (- sum 57))) ((fiveeight) (f 'fivenine (+ sum 58))) ((fivenine) (f 'sixzero (- sum 59))) ((sixzero) (f 'sixone (+ sum 60))) ((sixone) (f 'sixtwo (- sum 61))) ((sixtwo) (f 'sixthree (+ sum 62))) ((sixthree) (f 'sixfour (- sum 63))) ((sixfour) (f 'sixfive (+ sum 64))) ((sixfive) (f 'sixsix (- sum 65))) ((sixsix) (f 'sixseven (+ sum 66))) ((sixseven) (f 'sixeight (- sum 67))) ((sixeight) (f 'sixnine (+ sum 68))) ((sixnine) (f 'sevenzero (- sum 69))) ((sevenzero) (f 'sevenone (+ sum 70))) ((sevenone) (f 'seventwo (- sum 71))) ((seventwo) (f 'seventhree (+ sum 72))) ((seventhree) (f 'sevenfour (- sum 73))) ((sevenfour) (f 'sevenfive (+ sum 74))) ((sevenfive) (f 'sevensix (- sum 75))) ((sevensix) (f 'sevenseven (+ sum 76))) ((sevenseven) (f 'seveneight (- sum 77))) ((seveneight) (f 'sevennine (+ sum 78))) ((sevennine) (f 'eightzero (- sum 79))) ((eightzero) (f 'eightone (+ sum 80))) ((eightone) (f 'eighttwo (- sum 81))) ((eighttwo) (f 'eightthree (+ sum 82))) ((eightthree) (f 'eightfour (- sum 83))) ((eightfour) (f 'eightfive (+ sum 84))) ((eightfive) (f 'eightsix (- sum 85))) ((eightsix) (f 'eightseven (+ sum 86))) ((eightseven) (f 'eighteight (- sum 87))) ((eighteight) (f 'eightnine (+ sum 88))) ((eightnine) (f 'ninezero (- sum 89))) ((ninezero) (f 'nineone (+ sum 90))) ((nineone) (f 'ninetwo (- sum 91))) ((ninetwo) (f 'ninethree (+ sum 92))) ((ninethree) (f 'ninefour (- sum 93))) ((ninefour) (f 'ninefive (+ sum 94))) ((ninefive) (f 'ninesix (- sum 95))) ((ninesix) (f 'nineseven (+ sum 96))) ((nineseven) (f 'nineeight (- sum 97))) ((nineeight) (f 'ninenine (+ sum 98))) ((ninenine) (f 'onezerozero (- sum 99))) ((onezerozero) (f 'onezeroone (+ sum 100))) (else (+ sum 99)))) (f x 0)) ; Specially hacked character version of f100. ; There are only 96 characters, though. (define (c100 x) (define (f x sum) (case x ((#\newline) (f #\space (- sum 1))) ((#\space) (f #\! (+ sum 2))) ((#\!) (f #\" (- sum 3))) ((#\") (f #\# (+ sum 4))) ((#\#) (f #\\$ (- sum 5))) ((#\\$) (f #\% (+ sum 6))) ((#\%) (f #\' (- sum 7))) ((#\') (f #\( (+ sum 8))) ((#\() (f #\) (- sum 9))) ((#\)) (f #\* (+ sum 10))) ((#\*) (f #\+ (- sum 11))) ((#\+) (f #\, (+ sum 12))) ((#\,) (f #\- (- sum 13))) ((#\-) (f #\. (+ sum 14))) ((#\.) (f #\/ (- sum 15))) ((#\/) (f #\0 (+ sum 16))) ((#\0) (f #\1 (- sum 17))) ((#\1) (f #\2 (+ sum 18))) ((#\2) (f #\3 (- sum 19))) ((#\3) (f #\4 (+ sum 20))) ((#\4) (f #\5 (- sum 21))) ((#\5) (f #\6 (+ sum 22))) ((#\6) (f #\7 (- sum 23))) ((#\7) (f #\8 (+ sum 24))) ((#\8) (f #\9 (- sum 25))) ((#\9) (f #\: (+ sum 26))) ((#\:) (f #\; (- sum 27))) ((#\;) (f #\< (+ sum 28))) ((#\<) (f #\= (- sum 29))) ((#\=) (f #\> (+ sum 30))) ((#\>) (f #\? (- sum 31))) ((#\?) (f #\@ (+ sum 32))) ((#\@) (f #\A (- sum 33))) ((#\A) (f #\B (+ sum 34))) ((#\B) (f #\C (- sum 35))) ((#\C) (f #\D (+ sum 36))) ((#\D) (f #\E (- sum 37))) ((#\E) (f #\F (+ sum 38))) ((#\F) (f #\G (- sum 39))) ((#\G) (f #\H (+ sum 40))) ((#\H) (f #\I (- sum 41))) ((#\I) (f #\J (+ sum 42))) ((#\J) (f #\K (- sum 43))) ((#\K) (f #\L (+ sum 44))) ((#\L) (f #\M (- sum 45))) ((#\M) (f #\N (+ sum 46))) ((#\N) (f #\O (- sum 47))) ((#\O) (f #\P (+ sum 48))) ((#\P) (f #\Q (- sum 49))) ((#\Q) (f #\R (+ sum 50))) ((#\R) (f #\S (- sum 51))) ((#\S) (f #\T (+ sum 52))) ((#\T) (f #\U (- sum 53))) ((#\U) (f #\V (+ sum 54))) ((#\V) (f #\W (- sum 55))) ((#\W) (f #\X (+ sum 56))) ((#\X) (f #\Y (- sum 57))) ((#\Y) (f #\Z (+ sum 58))) ((#\Z) (f #\[ (- sum 59))) ((#\[) (f #\\ (+ sum 60))) ((#\\) (f #\] (- sum 61))) ((#\]) (f #\^ (+ sum 62))) ((#\^) (f #\_ (- sum 63))) ((#\_) (f #\` (+ sum 64))) ((#\`) (f #\a (- sum 65))) ((#\a) (f #\b (+ sum 66))) ((#\b) (f #\c (- sum 67))) ((#\c) (f #\d (+ sum 68))) ((#\d) (f #\e (- sum 69))) ((#\e) (f #\f (+ sum 70))) ((#\f) (f #\g (- sum 71))) ((#\g) (f #\h (+ sum 72))) ((#\h) (f #\i (- sum 73))) ((#\i) (f #\j (+ sum 74))) ((#\j) (f #\k (- sum 75))) ((#\k) (f #\l (+ sum 76))) ((#\l) (f #\m (- sum 77))) ((#\m) (f #\n (+ sum 78))) ((#\n) (f #\o (- sum 79))) ((#\o) (f #\p (+ sum 80))) ((#\p) (f #\q (- sum 81))) ((#\q) (f #\r (+ sum 82))) ((#\r) (f #\s (- sum 83))) ((#\s) (f #\t (+ sum 84))) ((#\t) (f #\u (- sum 85))) ((#\u) (f #\v (+ sum 86))) ((#\v) (f #\w (- sum 87))) ((#\w) (f #\x (+ sum 88))) ((#\x) (f #\y (- sum 89))) ((#\y) (f #\z (+ sum 90))) ((#\z) (f #\{ (- sum 91))) ((#\{) (f #\| (+ sum 92))) ((#\|) (f #\} (- sum 93))) ((#\}) (f #\~ (+ sum 94))) (else (+ sum 99)))) (f x 0)) (define (f1000 x) (define (f x sum) (case x ((1) (f 2 (- sum 1))) ((2) (f 3 (+ sum 2))) ((3) (f 4 (- sum 3))) ((4) (f 5 (+ sum 4))) ((5) (f 6 (- sum 5))) ((6) (f 7 (+ sum 6))) ((7) (f 8 (- sum 7))) ((8) (f 9 (+ sum 8))) ((9) (f 10 (- sum 9))) ((10) (f 11 (+ sum 10))) ((11) (f 12 (- sum 11))) ((12) (f 13 (+ sum 12))) ((13) (f 14 (- sum 13))) ((14) (f 15 (+ sum 14))) ((15) (f 16 (- sum 15))) ((16) (f 17 (+ sum 16))) ((17) (f 18 (- sum 17))) ((18) (f 19 (+ sum 18))) ((19) (f 20 (- sum 19))) ((20) (f 21 (+ sum 20))) ((21) (f 22 (- sum 21))) ((22) (f 23 (+ sum 22))) ((23) (f 24 (- sum 23))) ((24) (f 25 (+ sum 24))) ((25) (f 26 (- sum 25))) ((26) (f 27 (+ sum 26))) ((27) (f 28 (- sum 27))) ((28) (f 29 (+ sum 28))) ((29) (f 30 (- sum 29))) ((30) (f 31 (+ sum 30))) ((31) (f 32 (- sum 31))) ((32) (f 33 (+ sum 32))) ((33) (f 34 (- sum 33))) ((34) (f 35 (+ sum 34))) ((35) (f 36 (- sum 35))) ((36) (f 37 (+ sum 36))) ((37) (f 38 (- sum 37))) ((38) (f 39 (+ sum 38))) ((39) (f 40 (- sum 39))) ((40) (f 41 (+ sum 40))) ((41) (f 42 (- sum 41))) ((42) (f 43 (+ sum 42))) ((43) (f 44 (- sum 43))) ((44) (f 45 (+ sum 44))) ((45) (f 46 (- sum 45))) ((46) (f 47 (+ sum 46))) ((47) (f 48 (- sum 47))) ((48) (f 49 (+ sum 48))) ((49) (f 50 (- sum 49))) ((50) (f 51 (+ sum 50))) ((51) (f 52 (- sum 51))) ((52) (f 53 (+ sum 52))) ((53) (f 54 (- sum 53))) ((54) (f 55 (+ sum 54))) ((55) (f 56 (- sum 55))) ((56) (f 57 (+ sum 56))) ((57) (f 58 (- sum 57))) ((58) (f 59 (+ sum 58))) ((59) (f 60 (- sum 59))) ((60) (f 61 (+ sum 60))) ((61) (f 62 (- sum 61))) ((62) (f 63 (+ sum 62))) ((63) (f 64 (- sum 63))) ((64) (f 65 (+ sum 64))) ((65) (f 66 (- sum 65))) ((66) (f 67 (+ sum 66))) ((67) (f 68 (- sum 67))) ((68) (f 69 (+ sum 68))) ((69) (f 70 (- sum 69))) ((70) (f 71 (+ sum 70))) ((71) (f 72 (- sum 71))) ((72) (f 73 (+ sum 72))) ((73) (f 74 (- sum 73))) ((74) (f 75 (+ sum 74))) ((75) (f 76 (- sum 75))) ((76) (f 77 (+ sum 76))) ((77) (f 78 (- sum 77))) ((78) (f 79 (+ sum 78))) ((79) (f 80 (- sum 79))) ((80) (f 81 (+ sum 80))) ((81) (f 82 (- sum 81))) ((82) (f 83 (+ sum 82))) ((83) (f 84 (- sum 83))) ((84) (f 85 (+ sum 84))) ((85) (f 86 (- sum 85))) ((86) (f 87 (+ sum 86))) ((87) (f 88 (- sum 87))) ((88) (f 89 (+ sum 88))) ((89) (f 90 (- sum 89))) ((90) (f 91 (+ sum 90))) ((91) (f 92 (- sum 91))) ((92) (f 93 (+ sum 92))) ((93) (f 94 (- sum 93))) ((94) (f 95 (+ sum 94))) ((95) (f 96 (- sum 95))) ((96) (f 97 (+ sum 96))) ((97) (f 98 (- sum 97))) ((98) (f 99 (+ sum 98))) ((99) (f 100 (- sum 99))) ((100) (f 101 (+ sum 100))) ((101) (f 102 (- sum 101))) ((102) (f 103 (+ sum 102))) ((103) (f 104 (- sum 103))) ((104) (f 105 (+ sum 104))) ((105) (f 106 (- sum 105))) ((106) (f 107 (+ sum 106))) ((107) (f 108 (- sum 107))) ((108) (f 109 (+ sum 108))) ((109) (f 110 (- sum 109))) ((110) (f 111 (+ sum 110))) ((111) (f 112 (- sum 111))) ((112) (f 113 (+ sum 112))) ((113) (f 114 (- sum 113))) ((114) (f 115 (+ sum 114))) ((115) (f 116 (- sum 115))) ((116) (f 117 (+ sum 116))) ((117) (f 118 (- sum 117))) ((118) (f 119 (+ sum 118))) ((119) (f 120 (- sum 119))) ((120) (f 121 (+ sum 120))) ((121) (f 122 (- sum 121))) ((122) (f 123 (+ sum 122))) ((123) (f 124 (- sum 123))) ((124) (f 125 (+ sum 124))) ((125) (f 126 (- sum 125))) ((126) (f 127 (+ sum 126))) ((127) (f 128 (- sum 127))) ((128) (f 129 (+ sum 128))) ((129) (f 130 (- sum 129))) ((130) (f 131 (+ sum 130))) ((131) (f 132 (- sum 131))) ((132) (f 133 (+ sum 132))) ((133) (f 134 (- sum 133))) ((134) (f 135 (+ sum 134))) ((135) (f 136 (- sum 135))) ((136) (f 137 (+ sum 136))) ((137) (f 138 (- sum 137))) ((138) (f 139 (+ sum 138))) ((139) (f 140 (- sum 139))) ((140) (f 141 (+ sum 140))) ((141) (f 142 (- sum 141))) ((142) (f 143 (+ sum 142))) ((143) (f 144 (- sum 143))) ((144) (f 145 (+ sum 144))) ((145) (f 146 (- sum 145))) ((146) (f 147 (+ sum 146))) ((147) (f 148 (- sum 147))) ((148) (f 149 (+ sum 148))) ((149) (f 150 (- sum 149))) ((150) (f 151 (+ sum 150))) ((151) (f 152 (- sum 151))) ((152) (f 153 (+ sum 152))) ((153) (f 154 (- sum 153))) ((154) (f 155 (+ sum 154))) ((155) (f 156 (- sum 155))) ((156) (f 157 (+ sum 156))) ((157) (f 158 (- sum 157))) ((158) (f 159 (+ sum 158))) ((159) (f 160 (- sum 159))) ((160) (f 161 (+ sum 160))) ((161) (f 162 (- sum 161))) ((162) (f 163 (+ sum 162))) ((163) (f 164 (- sum 163))) ((164) (f 165 (+ sum 164))) ((165) (f 166 (- sum 165))) ((166) (f 167 (+ sum 166))) ((167) (f 168 (- sum 167))) ((168) (f 169 (+ sum 168))) ((169) (f 170 (- sum 169))) ((170) (f 171 (+ sum 170))) ((171) (f 172 (- sum 171))) ((172) (f 173 (+ sum 172))) ((173) (f 174 (- sum 173))) ((174) (f 175 (+ sum 174))) ((175) (f 176 (- sum 175))) ((176) (f 177 (+ sum 176))) ((177) (f 178 (- sum 177))) ((178) (f 179 (+ sum 178))) ((179) (f 180 (- sum 179))) ((180) (f 181 (+ sum 180))) ((181) (f 182 (- sum 181))) ((182) (f 183 (+ sum 182))) ((183) (f 184 (- sum 183))) ((184) (f 185 (+ sum 184))) ((185) (f 186 (- sum 185))) ((186) (f 187 (+ sum 186))) ((187) (f 188 (- sum 187))) ((188) (f 189 (+ sum 188))) ((189) (f 190 (- sum 189))) ((190) (f 191 (+ sum 190))) ((191) (f 192 (- sum 191))) ((192) (f 193 (+ sum 192))) ((193) (f 194 (- sum 193))) ((194) (f 195 (+ sum 194))) ((195) (f 196 (- sum 195))) ((196) (f 197 (+ sum 196))) ((197) (f 198 (- sum 197))) ((198) (f 199 (+ sum 198))) ((199) (f 200 (- sum 199))) ((200) (f 201 (+ sum 200))) ((201) (f 202 (- sum 201))) ((202) (f 203 (+ sum 202))) ((203) (f 204 (- sum 203))) ((204) (f 205 (+ sum 204))) ((205) (f 206 (- sum 205))) ((206) (f 207 (+ sum 206))) ((207) (f 208 (- sum 207))) ((208) (f 209 (+ sum 208))) ((209) (f 210 (- sum 209))) ((210) (f 211 (+ sum 210))) ((211) (f 212 (- sum 211))) ((212) (f 213 (+ sum 212))) ((213) (f 214 (- sum 213))) ((214) (f 215 (+ sum 214))) ((215) (f 216 (- sum 215))) ((216) (f 217 (+ sum 216))) ((217) (f 218 (- sum 217))) ((218) (f 219 (+ sum 218))) ((219) (f 220 (- sum 219))) ((220) (f 221 (+ sum 220))) ((221) (f 222 (- sum 221))) ((222) (f 223 (+ sum 222))) ((223) (f 224 (- sum 223))) ((224) (f 225 (+ sum 224))) ((225) (f 226 (- sum 225))) ((226) (f 227 (+ sum 226))) ((227) (f 228 (- sum 227))) ((228) (f 229 (+ sum 228))) ((229) (f 230 (- sum 229))) ((230) (f 231 (+ sum 230))) ((231) (f 232 (- sum 231))) ((232) (f 233 (+ sum 232))) ((233) (f 234 (- sum 233))) ((234) (f 235 (+ sum 234))) ((235) (f 236 (- sum 235))) ((236) (f 237 (+ sum 236))) ((237) (f 238 (- sum 237))) ((238) (f 239 (+ sum 238))) ((239) (f 240 (- sum 239))) ((240) (f 241 (+ sum 240))) ((241) (f 242 (- sum 241))) ((242) (f 243 (+ sum 242))) ((243) (f 244 (- sum 243))) ((244) (f 245 (+ sum 244))) ((245) (f 246 (- sum 245))) ((246) (f 247 (+ sum 246))) ((247) (f 248 (- sum 247))) ((248) (f 249 (+ sum 248))) ((249) (f 250 (- sum 249))) ((250) (f 251 (+ sum 250))) ((251) (f 252 (- sum 251))) ((252) (f 253 (+ sum 252))) ((253) (f 254 (- sum 253))) ((254) (f 255 (+ sum 254))) ((255) (f 256 (- sum 255))) ((256) (f 257 (+ sum 256))) ((257) (f 258 (- sum 257))) ((258) (f 259 (+ sum 258))) ((259) (f 260 (- sum 259))) ((260) (f 261 (+ sum 260))) ((261) (f 262 (- sum 261))) ((262) (f 263 (+ sum 262))) ((263) (f 264 (- sum 263))) ((264) (f 265 (+ sum 264))) ((265) (f 266 (- sum 265))) ((266) (f 267 (+ sum 266))) ((267) (f 268 (- sum 267))) ((268) (f 269 (+ sum 268))) ((269) (f 270 (- sum 269))) ((270) (f 271 (+ sum 270))) ((271) (f 272 (- sum 271))) ((272) (f 273 (+ sum 272))) ((273) (f 274 (- sum 273))) ((274) (f 275 (+ sum 274))) ((275) (f 276 (- sum 275))) ((276) (f 277 (+ sum 276))) ((277) (f 278 (- sum 277))) ((278) (f 279 (+ sum 278))) ((279) (f 280 (- sum 279))) ((280) (f 281 (+ sum 280))) ((281) (f 282 (- sum 281))) ((282) (f 283 (+ sum 282))) ((283) (f 284 (- sum 283))) ((284) (f 285 (+ sum 284))) ((285) (f 286 (- sum 285))) ((286) (f 287 (+ sum 286))) ((287) (f 288 (- sum 287))) ((288) (f 289 (+ sum 288))) ((289) (f 290 (- sum 289))) ((290) (f 291 (+ sum 290))) ((291) (f 292 (- sum 291))) ((292) (f 293 (+ sum 292))) ((293) (f 294 (- sum 293))) ((294) (f 295 (+ sum 294))) ((295) (f 296 (- sum 295))) ((296) (f 297 (+ sum 296))) ((297) (f 298 (- sum 297))) ((298) (f 299 (+ sum 298))) ((299) (f 300 (- sum 299))) ((300) (f 301 (+ sum 300))) ((301) (f 302 (- sum 301))) ((302) (f 303 (+ sum 302))) ((303) (f 304 (- sum 303))) ((304) (f 305 (+ sum 304))) ((305) (f 306 (- sum 305))) ((306) (f 307 (+ sum 306))) ((307) (f 308 (- sum 307))) ((308) (f 309 (+ sum 308))) ((309) (f 310 (- sum 309))) ((310) (f 311 (+ sum 310))) ((311) (f 312 (- sum 311))) ((312) (f 313 (+ sum 312))) ((313) (f 314 (- sum 313))) ((314) (f 315 (+ sum 314))) ((315) (f 316 (- sum 315))) ((316) (f 317 (+ sum 316))) ((317) (f 318 (- sum 317))) ((318) (f 319 (+ sum 318))) ((319) (f 320 (- sum 319))) ((320) (f 321 (+ sum 320))) ((321) (f 322 (- sum 321))) ((322) (f 323 (+ sum 322))) ((323) (f 324 (- sum 323))) ((324) (f 325 (+ sum 324))) ((325) (f 326 (- sum 325))) ((326) (f 327 (+ sum 326))) ((327) (f 328 (- sum 327))) ((328) (f 329 (+ sum 328))) ((329) (f 330 (- sum 329))) ((330) (f 331 (+ sum 330))) ((331) (f 332 (- sum 331))) ((332) (f 333 (+ sum 332))) ((333) (f 334 (- sum 333))) ((334) (f 335 (+ sum 334))) ((335) (f 336 (- sum 335))) ((336) (f 337 (+ sum 336))) ((337) (f 338 (- sum 337))) ((338) (f 339 (+ sum 338))) ((339) (f 340 (- sum 339))) ((340) (f 341 (+ sum 340))) ((341) (f 342 (- sum 341))) ((342) (f 343 (+ sum 342))) ((343) (f 344 (- sum 343))) ((344) (f 345 (+ sum 344))) ((345) (f 346 (- sum 345))) ((346) (f 347 (+ sum 346))) ((347) (f 348 (- sum 347))) ((348) (f 349 (+ sum 348))) ((349) (f 350 (- sum 349))) ((350) (f 351 (+ sum 350))) ((351) (f 352 (- sum 351))) ((352) (f 353 (+ sum 352))) ((353) (f 354 (- sum 353))) ((354) (f 355 (+ sum 354))) ((355) (f 356 (- sum 355))) ((356) (f 357 (+ sum 356))) ((357) (f 358 (- sum 357))) ((358) (f 359 (+ sum 358))) ((359) (f 360 (- sum 359))) ((360) (f 361 (+ sum 360))) ((361) (f 362 (- sum 361))) ((362) (f 363 (+ sum 362))) ((363) (f 364 (- sum 363))) ((364) (f 365 (+ sum 364))) ((365) (f 366 (- sum 365))) ((366) (f 367 (+ sum 366))) ((367) (f 368 (- sum 367))) ((368) (f 369 (+ sum 368))) ((369) (f 370 (- sum 369))) ((370) (f 371 (+ sum 370))) ((371) (f 372 (- sum 371))) ((372) (f 373 (+ sum 372))) ((373) (f 374 (- sum 373))) ((374) (f 375 (+ sum 374))) ((375) (f 376 (- sum 375))) ((376) (f 377 (+ sum 376))) ((377) (f 378 (- sum 377))) ((378) (f 379 (+ sum 378))) ((379) (f 380 (- sum 379))) ((380) (f 381 (+ sum 380))) ((381) (f 382 (- sum 381))) ((382) (f 383 (+ sum 382))) ((383) (f 384 (- sum 383))) ((384) (f 385 (+ sum 384))) ((385) (f 386 (- sum 385))) ((386) (f 387 (+ sum 386))) ((387) (f 388 (- sum 387))) ((388) (f 389 (+ sum 388))) ((389) (f 390 (- sum 389))) ((390) (f 391 (+ sum 390))) ((391) (f 392 (- sum 391))) ((392) (f 393 (+ sum 392))) ((393) (f 394 (- sum 393))) ((394) (f 395 (+ sum 394))) ((395) (f 396 (- sum 395))) ((396) (f 397 (+ sum 396))) ((397) (f 398 (- sum 397))) ((398) (f 399 (+ sum 398))) ((399) (f 400 (- sum 399))) ((400) (f 401 (+ sum 400))) ((401) (f 402 (- sum 401))) ((402) (f 403 (+ sum 402))) ((403) (f 404 (- sum 403))) ((404) (f 405 (+ sum 404))) ((405) (f 406 (- sum 405))) ((406) (f 407 (+ sum 406))) ((407) (f 408 (- sum 407))) ((408) (f 409 (+ sum 408))) ((409) (f 410 (- sum 409))) ((410) (f 411 (+ sum 410))) ((411) (f 412 (- sum 411))) ((412) (f 413 (+ sum 412))) ((413) (f 414 (- sum 413))) ((414) (f 415 (+ sum 414))) ((415) (f 416 (- sum 415))) ((416) (f 417 (+ sum 416))) ((417) (f 418 (- sum 417))) ((418) (f 419 (+ sum 418))) ((419) (f 420 (- sum 419))) ((420) (f 421 (+ sum 420))) ((421) (f 422 (- sum 421))) ((422) (f 423 (+ sum 422))) ((423) (f 424 (- sum 423))) ((424) (f 425 (+ sum 424))) ((425) (f 426 (- sum 425))) ((426) (f 427 (+ sum 426))) ((427) (f 428 (- sum 427))) ((428) (f 429 (+ sum 428))) ((429) (f 430 (- sum 429))) ((430) (f 431 (+ sum 430))) ((431) (f 432 (- sum 431))) ((432) (f 433 (+ sum 432))) ((433) (f 434 (- sum 433))) ((434) (f 435 (+ sum 434))) ((435) (f 436 (- sum 435))) ((436) (f 437 (+ sum 436))) ((437) (f 438 (- sum 437))) ((438) (f 439 (+ sum 438))) ((439) (f 440 (- sum 439))) ((440) (f 441 (+ sum 440))) ((441) (f 442 (- sum 441))) ((442) (f 443 (+ sum 442))) ((443) (f 444 (- sum 443))) ((444) (f 445 (+ sum 444))) ((445) (f 446 (- sum 445))) ((446) (f 447 (+ sum 446))) ((447) (f 448 (- sum 447))) ((448) (f 449 (+ sum 448))) ((449) (f 450 (- sum 449))) ((450) (f 451 (+ sum 450))) ((451) (f 452 (- sum 451))) ((452) (f 453 (+ sum 452))) ((453) (f 454 (- sum 453))) ((454) (f 455 (+ sum 454))) ((455) (f 456 (- sum 455))) ((456) (f 457 (+ sum 456))) ((457) (f 458 (- sum 457))) ((458) (f 459 (+ sum 458))) ((459) (f 460 (- sum 459))) ((460) (f 461 (+ sum 460))) ((461) (f 462 (- sum 461))) ((462) (f 463 (+ sum 462))) ((463) (f 464 (- sum 463))) ((464) (f 465 (+ sum 464))) ((465) (f 466 (- sum 465))) ((466) (f 467 (+ sum 466))) ((467) (f 468 (- sum 467))) ((468) (f 469 (+ sum 468))) ((469) (f 470 (- sum 469))) ((470) (f 471 (+ sum 470))) ((471) (f 472 (- sum 471))) ((472) (f 473 (+ sum 472))) ((473) (f 474 (- sum 473))) ((474) (f 475 (+ sum 474))) ((475) (f 476 (- sum 475))) ((476) (f 477 (+ sum 476))) ((477) (f 478 (- sum 477))) ((478) (f 479 (+ sum 478))) ((479) (f 480 (- sum 479))) ((480) (f 481 (+ sum 480))) ((481) (f 482 (- sum 481))) ((482) (f 483 (+ sum 482))) ((483) (f 484 (- sum 483))) ((484) (f 485 (+ sum 484))) ((485) (f 486 (- sum 485))) ((486) (f 487 (+ sum 486))) ((487) (f 488 (- sum 487))) ((488) (f 489 (+ sum 488))) ((489) (f 490 (- sum 489))) ((490) (f 491 (+ sum 490))) ((491) (f 492 (- sum 491))) ((492) (f 493 (+ sum 492))) ((493) (f 494 (- sum 493))) ((494) (f 495 (+ sum 494))) ((495) (f 496 (- sum 495))) ((496) (f 497 (+ sum 496))) ((497) (f 498 (- sum 497))) ((498) (f 499 (+ sum 498))) ((499) (f 500 (- sum 499))) ((500) (f 501 (+ sum 500))) ((501) (f 502 (- sum 501))) ((502) (f 503 (+ sum 502))) ((503) (f 504 (- sum 503))) ((504) (f 505 (+ sum 504))) ((505) (f 506 (- sum 505))) ((506) (f 507 (+ sum 506))) ((507) (f 508 (- sum 507))) ((508) (f 509 (+ sum 508))) ((509) (f 510 (- sum 509))) ((510) (f 511 (+ sum 510))) ((511) (f 512 (- sum 511))) ((512) (f 513 (+ sum 512))) ((513) (f 514 (- sum 513))) ((514) (f 515 (+ sum 514))) ((515) (f 516 (- sum 515))) ((516) (f 517 (+ sum 516))) ((517) (f 518 (- sum 517))) ((518) (f 519 (+ sum 518))) ((519) (f 520 (- sum 519))) ((520) (f 521 (+ sum 520))) ((521) (f 522 (- sum 521))) ((522) (f 523 (+ sum 522))) ((523) (f 524 (- sum 523))) ((524) (f 525 (+ sum 524))) ((525) (f 526 (- sum 525))) ((526) (f 527 (+ sum 526))) ((527) (f 528 (- sum 527))) ((528) (f 529 (+ sum 528))) ((529) (f 530 (- sum 529))) ((530) (f 531 (+ sum 530))) ((531) (f 532 (- sum 531))) ((532) (f 533 (+ sum 532))) ((533) (f 534 (- sum 533))) ((534) (f 535 (+ sum 534))) ((535) (f 536 (- sum 535))) ((536) (f 537 (+ sum 536))) ((537) (f 538 (- sum 537))) ((538) (f 539 (+ sum 538))) ((539) (f 540 (- sum 539))) ((540) (f 541 (+ sum 540))) ((541) (f 542 (- sum 541))) ((542) (f 543 (+ sum 542))) ((543) (f 544 (- sum 543))) ((544) (f 545 (+ sum 544))) ((545) (f 546 (- sum 545))) ((546) (f 547 (+ sum 546))) ((547) (f 548 (- sum 547))) ((548) (f 549 (+ sum 548))) ((549) (f 550 (- sum 549))) ((550) (f 551 (+ sum 550))) ((551) (f 552 (- sum 551))) ((552) (f 553 (+ sum 552))) ((553) (f 554 (- sum 553))) ((554) (f 555 (+ sum 554))) ((555) (f 556 (- sum 555))) ((556) (f 557 (+ sum 556))) ((557) (f 558 (- sum 557))) ((558) (f 559 (+ sum 558))) ((559) (f 560 (- sum 559))) ((560) (f 561 (+ sum 560))) ((561) (f 562 (- sum 561))) ((562) (f 563 (+ sum 562))) ((563) (f 564 (- sum 563))) ((564) (f 565 (+ sum 564))) ((565) (f 566 (- sum 565))) ((566) (f 567 (+ sum 566))) ((567) (f 568 (- sum 567))) ((568) (f 569 (+ sum 568))) ((569) (f 570 (- sum 569))) ((570) (f 571 (+ sum 570))) ((571) (f 572 (- sum 571))) ((572) (f 573 (+ sum 572))) ((573) (f 574 (- sum 573))) ((574) (f 575 (+ sum 574))) ((575) (f 576 (- sum 575))) ((576) (f 577 (+ sum 576))) ((577) (f 578 (- sum 577))) ((578) (f 579 (+ sum 578))) ((579) (f 580 (- sum 579))) ((580) (f 581 (+ sum 580))) ((581) (f 582 (- sum 581))) ((582) (f 583 (+ sum 582))) ((583) (f 584 (- sum 583))) ((584) (f 585 (+ sum 584))) ((585) (f 586 (- sum 585))) ((586) (f 587 (+ sum 586))) ((587) (f 588 (- sum 587))) ((588) (f 589 (+ sum 588))) ((589) (f 590 (- sum 589))) ((590) (f 591 (+ sum 590))) ((591) (f 592 (- sum 591))) ((592) (f 593 (+ sum 592))) ((593) (f 594 (- sum 593))) ((594) (f 595 (+ sum 594))) ((595) (f 596 (- sum 595))) ((596) (f 597 (+ sum 596))) ((597) (f 598 (- sum 597))) ((598) (f 599 (+ sum 598))) ((599) (f 600 (- sum 599))) ((600) (f 601 (+ sum 600))) ((601) (f 602 (- sum 601))) ((602) (f 603 (+ sum 602))) ((603) (f 604 (- sum 603))) ((604) (f 605 (+ sum 604))) ((605) (f 606 (- sum 605))) ((606) (f 607 (+ sum 606))) ((607) (f 608 (- sum 607))) ((608) (f 609 (+ sum 608))) ((609) (f 610 (- sum 609))) ((610) (f 611 (+ sum 610))) ((611) (f 612 (- sum 611))) ((612) (f 613 (+ sum 612))) ((613) (f 614 (- sum 613))) ((614) (f 615 (+ sum 614))) ((615) (f 616 (- sum 615))) ((616) (f 617 (+ sum 616))) ((617) (f 618 (- sum 617))) ((618) (f 619 (+ sum 618))) ((619) (f 620 (- sum 619))) ((620) (f 621 (+ sum 620))) ((621) (f 622 (- sum 621))) ((622) (f 623 (+ sum 622))) ((623) (f 624 (- sum 623))) ((624) (f 625 (+ sum 624))) ((625) (f 626 (- sum 625))) ((626) (f 627 (+ sum 626))) ((627) (f 628 (- sum 627))) ((628) (f 629 (+ sum 628))) ((629) (f 630 (- sum 629))) ((630) (f 631 (+ sum 630))) ((631) (f 632 (- sum 631))) ((632) (f 633 (+ sum 632))) ((633) (f 634 (- sum 633))) ((634) (f 635 (+ sum 634))) ((635) (f 636 (- sum 635))) ((636) (f 637 (+ sum 636))) ((637) (f 638 (- sum 637))) ((638) (f 639 (+ sum 638))) ((639) (f 640 (- sum 639))) ((640) (f 641 (+ sum 640))) ((641) (f 642 (- sum 641))) ((642) (f 643 (+ sum 642))) ((643) (f 644 (- sum 643))) ((644) (f 645 (+ sum 644))) ((645) (f 646 (- sum 645))) ((646) (f 647 (+ sum 646))) ((647) (f 648 (- sum 647))) ((648) (f 649 (+ sum 648))) ((649) (f 650 (- sum 649))) ((650) (f 651 (+ sum 650))) ((651) (f 652 (- sum 651))) ((652) (f 653 (+ sum 652))) ((653) (f 654 (- sum 653))) ((654) (f 655 (+ sum 654))) ((655) (f 656 (- sum 655))) ((656) (f 657 (+ sum 656))) ((657) (f 658 (- sum 657))) ((658) (f 659 (+ sum 658))) ((659) (f 660 (- sum 659))) ((660) (f 661 (+ sum 660))) ((661) (f 662 (- sum 661))) ((662) (f 663 (+ sum 662))) ((663) (f 664 (- sum 663))) ((664) (f 665 (+ sum 664))) ((665) (f 666 (- sum 665))) ((666) (f 667 (+ sum 666))) ((667) (f 668 (- sum 667))) ((668) (f 669 (+ sum 668))) ((669) (f 670 (- sum 669))) ((670) (f 671 (+ sum 670))) ((671) (f 672 (- sum 671))) ((672) (f 673 (+ sum 672))) ((673) (f 674 (- sum 673))) ((674) (f 675 (+ sum 674))) ((675) (f 676 (- sum 675))) ((676) (f 677 (+ sum 676))) ((677) (f 678 (- sum 677))) ((678) (f 679 (+ sum 678))) ((679) (f 680 (- sum 679))) ((680) (f 681 (+ sum 680))) ((681) (f 682 (- sum 681))) ((682) (f 683 (+ sum 682))) ((683) (f 684 (- sum 683))) ((684) (f 685 (+ sum 684))) ((685) (f 686 (- sum 685))) ((686) (f 687 (+ sum 686))) ((687) (f 688 (- sum 687))) ((688) (f 689 (+ sum 688))) ((689) (f 690 (- sum 689))) ((690) (f 691 (+ sum 690))) ((691) (f 692 (- sum 691))) ((692) (f 693 (+ sum 692))) ((693) (f 694 (- sum 693))) ((694) (f 695 (+ sum 694))) ((695) (f 696 (- sum 695))) ((696) (f 697 (+ sum 696))) ((697) (f 698 (- sum 697))) ((698) (f 699 (+ sum 698))) ((699) (f 700 (- sum 699))) ((700) (f 701 (+ sum 700))) ((701) (f 702 (- sum 701))) ((702) (f 703 (+ sum 702))) ((703) (f 704 (- sum 703))) ((704) (f 705 (+ sum 704))) ((705) (f 706 (- sum 705))) ((706) (f 707 (+ sum 706))) ((707) (f 708 (- sum 707))) ((708) (f 709 (+ sum 708))) ((709) (f 710 (- sum 709))) ((710) (f 711 (+ sum 710))) ((711) (f 712 (- sum 711))) ((712) (f 713 (+ sum 712))) ((713) (f 714 (- sum 713))) ((714) (f 715 (+ sum 714))) ((715) (f 716 (- sum 715))) ((716) (f 717 (+ sum 716))) ((717) (f 718 (- sum 717))) ((718) (f 719 (+ sum 718))) ((719) (f 720 (- sum 719))) ((720) (f 721 (+ sum 720))) ((721) (f 722 (- sum 721))) ((722) (f 723 (+ sum 722))) ((723) (f 724 (- sum 723))) ((724) (f 725 (+ sum 724))) ((725) (f 726 (- sum 725))) ((726) (f 727 (+ sum 726))) ((727) (f 728 (- sum 727))) ((728) (f 729 (+ sum 728))) ((729) (f 730 (- sum 729))) ((730) (f 731 (+ sum 730))) ((731) (f 732 (- sum 731))) ((732) (f 733 (+ sum 732))) ((733) (f 734 (- sum 733))) ((734) (f 735 (+ sum 734))) ((735) (f 736 (- sum 735))) ((736) (f 737 (+ sum 736))) ((737) (f 738 (- sum 737))) ((738) (f 739 (+ sum 738))) ((739) (f 740 (- sum 739))) ((740) (f 741 (+ sum 740))) ((741) (f 742 (- sum 741))) ((742) (f 743 (+ sum 742))) ((743) (f 744 (- sum 743))) ((744) (f 745 (+ sum 744))) ((745) (f 746 (- sum 745))) ((746) (f 747 (+ sum 746))) ((747) (f 748 (- sum 747))) ((748) (f 749 (+ sum 748))) ((749) (f 750 (- sum 749))) ((750) (f 751 (+ sum 750))) ((751) (f 752 (- sum 751))) ((752) (f 753 (+ sum 752))) ((753) (f 754 (- sum 753))) ((754) (f 755 (+ sum 754))) ((755) (f 756 (- sum 755))) ((756) (f 757 (+ sum 756))) ((757) (f 758 (- sum 757))) ((758) (f 759 (+ sum 758))) ((759) (f 760 (- sum 759))) ((760) (f 761 (+ sum 760))) ((761) (f 762 (- sum 761))) ((762) (f 763 (+ sum 762))) ((763) (f 764 (- sum 763))) ((764) (f 765 (+ sum 764))) ((765) (f 766 (- sum 765))) ((766) (f 767 (+ sum 766))) ((767) (f 768 (- sum 767))) ((768) (f 769 (+ sum 768))) ((769) (f 770 (- sum 769))) ((770) (f 771 (+ sum 770))) ((771) (f 772 (- sum 771))) ((772) (f 773 (+ sum 772))) ((773) (f 774 (- sum 773))) ((774) (f 775 (+ sum 774))) ((775) (f 776 (- sum 775))) ((776) (f 777 (+ sum 776))) ((777) (f 778 (- sum 777))) ((778) (f 779 (+ sum 778))) ((779) (f 780 (- sum 779))) ((780) (f 781 (+ sum 780))) ((781) (f 782 (- sum 781))) ((782) (f 783 (+ sum 782))) ((783) (f 784 (- sum 783))) ((784) (f 785 (+ sum 784))) ((785) (f 786 (- sum 785))) ((786) (f 787 (+ sum 786))) ((787) (f 788 (- sum 787))) ((788) (f 789 (+ sum 788))) ((789) (f 790 (- sum 789))) ((790) (f 791 (+ sum 790))) ((791) (f 792 (- sum 791))) ((792) (f 793 (+ sum 792))) ((793) (f 794 (- sum 793))) ((794) (f 795 (+ sum 794))) ((795) (f 796 (- sum 795))) ((796) (f 797 (+ sum 796))) ((797) (f 798 (- sum 797))) ((798) (f 799 (+ sum 798))) ((799) (f 800 (- sum 799))) ((800) (f 801 (+ sum 800))) ((801) (f 802 (- sum 801))) ((802) (f 803 (+ sum 802))) ((803) (f 804 (- sum 803))) ((804) (f 805 (+ sum 804))) ((805) (f 806 (- sum 805))) ((806) (f 807 (+ sum 806))) ((807) (f 808 (- sum 807))) ((808) (f 809 (+ sum 808))) ((809) (f 810 (- sum 809))) ((810) (f 811 (+ sum 810))) ((811) (f 812 (- sum 811))) ((812) (f 813 (+ sum 812))) ((813) (f 814 (- sum 813))) ((814) (f 815 (+ sum 814))) ((815) (f 816 (- sum 815))) ((816) (f 817 (+ sum 816))) ((817) (f 818 (- sum 817))) ((818) (f 819 (+ sum 818))) ((819) (f 820 (- sum 819))) ((820) (f 821 (+ sum 820))) ((821) (f 822 (- sum 821))) ((822) (f 823 (+ sum 822))) ((823) (f 824 (- sum 823))) ((824) (f 825 (+ sum 824))) ((825) (f 826 (- sum 825))) ((826) (f 827 (+ sum 826))) ((827) (f 828 (- sum 827))) ((828) (f 829 (+ sum 828))) ((829) (f 830 (- sum 829))) ((830) (f 831 (+ sum 830))) ((831) (f 832 (- sum 831))) ((832) (f 833 (+ sum 832))) ((833) (f 834 (- sum 833))) ((834) (f 835 (+ sum 834))) ((835) (f 836 (- sum 835))) ((836) (f 837 (+ sum 836))) ((837) (f 838 (- sum 837))) ((838) (f 839 (+ sum 838))) ((839) (f 840 (- sum 839))) ((840) (f 841 (+ sum 840))) ((841) (f 842 (- sum 841))) ((842) (f 843 (+ sum 842))) ((843) (f 844 (- sum 843))) ((844) (f 845 (+ sum 844))) ((845) (f 846 (- sum 845))) ((846) (f 847 (+ sum 846))) ((847) (f 848 (- sum 847))) ((848) (f 849 (+ sum 848))) ((849) (f 850 (- sum 849))) ((850) (f 851 (+ sum 850))) ((851) (f 852 (- sum 851))) ((852) (f 853 (+ sum 852))) ((853) (f 854 (- sum 853))) ((854) (f 855 (+ sum 854))) ((855) (f 856 (- sum 855))) ((856) (f 857 (+ sum 856))) ((857) (f 858 (- sum 857))) ((858) (f 859 (+ sum 858))) ((859) (f 860 (- sum 859))) ((860) (f 861 (+ sum 860))) ((861) (f 862 (- sum 861))) ((862) (f 863 (+ sum 862))) ((863) (f 864 (- sum 863))) ((864) (f 865 (+ sum 864))) ((865) (f 866 (- sum 865))) ((866) (f 867 (+ sum 866))) ((867) (f 868 (- sum 867))) ((868) (f 869 (+ sum 868))) ((869) (f 870 (- sum 869))) ((870) (f 871 (+ sum 870))) ((871) (f 872 (- sum 871))) ((872) (f 873 (+ sum 872))) ((873) (f 874 (- sum 873))) ((874) (f 875 (+ sum 874))) ((875) (f 876 (- sum 875))) ((876) (f 877 (+ sum 876))) ((877) (f 878 (- sum 877))) ((878) (f 879 (+ sum 878))) ((879) (f 880 (- sum 879))) ((880) (f 881 (+ sum 880))) ((881) (f 882 (- sum 881))) ((882) (f 883 (+ sum 882))) ((883) (f 884 (- sum 883))) ((884) (f 885 (+ sum 884))) ((885) (f 886 (- sum 885))) ((886) (f 887 (+ sum 886))) ((887) (f 888 (- sum 887))) ((888) (f 889 (+ sum 888))) ((889) (f 890 (- sum 889))) ((890) (f 891 (+ sum 890))) ((891) (f 892 (- sum 891))) ((892) (f 893 (+ sum 892))) ((893) (f 894 (- sum 893))) ((894) (f 895 (+ sum 894))) ((895) (f 896 (- sum 895))) ((896) (f 897 (+ sum 896))) ((897) (f 898 (- sum 897))) ((898) (f 899 (+ sum 898))) ((899) (f 900 (- sum 899))) ((900) (f 901 (+ sum 900))) ((901) (f 902 (- sum 901))) ((902) (f 903 (+ sum 902))) ((903) (f 904 (- sum 903))) ((904) (f 905 (+ sum 904))) ((905) (f 906 (- sum 905))) ((906) (f 907 (+ sum 906))) ((907) (f 908 (- sum 907))) ((908) (f 909 (+ sum 908))) ((909) (f 910 (- sum 909))) ((910) (f 911 (+ sum 910))) ((911) (f 912 (- sum 911))) ((912) (f 913 (+ sum 912))) ((913) (f 914 (- sum 913))) ((914) (f 915 (+ sum 914))) ((915) (f 916 (- sum 915))) ((916) (f 917 (+ sum 916))) ((917) (f 918 (- sum 917))) ((918) (f 919 (+ sum 918))) ((919) (f 920 (- sum 919))) ((920) (f 921 (+ sum 920))) ((921) (f 922 (- sum 921))) ((922) (f 923 (+ sum 922))) ((923) (f 924 (- sum 923))) ((924) (f 925 (+ sum 924))) ((925) (f 926 (- sum 925))) ((926) (f 927 (+ sum 926))) ((927) (f 928 (- sum 927))) ((928) (f 929 (+ sum 928))) ((929) (f 930 (- sum 929))) ((930) (f 931 (+ sum 930))) ((931) (f 932 (- sum 931))) ((932) (f 933 (+ sum 932))) ((933) (f 934 (- sum 933))) ((934) (f 935 (+ sum 934))) ((935) (f 936 (- sum 935))) ((936) (f 937 (+ sum 936))) ((937) (f 938 (- sum 937))) ((938) (f 939 (+ sum 938))) ((939) (f 940 (- sum 939))) ((940) (f 941 (+ sum 940))) ((941) (f 942 (- sum 941))) ((942) (f 943 (+ sum 942))) ((943) (f 944 (- sum 943))) ((944) (f 945 (+ sum 944))) ((945) (f 946 (- sum 945))) ((946) (f 947 (+ sum 946))) ((947) (f 948 (- sum 947))) ((948) (f 949 (+ sum 948))) ((949) (f 950 (- sum 949))) ((950) (f 951 (+ sum 950))) ((951) (f 952 (- sum 951))) ((952) (f 953 (+ sum 952))) ((953) (f 954 (- sum 953))) ((954) (f 955 (+ sum 954))) ((955) (f 956 (- sum 955))) ((956) (f 957 (+ sum 956))) ((957) (f 958 (- sum 957))) ((958) (f 959 (+ sum 958))) ((959) (f 960 (- sum 959))) ((960) (f 961 (+ sum 960))) ((961) (f 962 (- sum 961))) ((962) (f 963 (+ sum 962))) ((963) (f 964 (- sum 963))) ((964) (f 965 (+ sum 964))) ((965) (f 966 (- sum 965))) ((966) (f 967 (+ sum 966))) ((967) (f 968 (- sum 967))) ((968) (f 969 (+ sum 968))) ((969) (f 970 (- sum 969))) ((970) (f 971 (+ sum 970))) ((971) (f 972 (- sum 971))) ((972) (f 973 (+ sum 972))) ((973) (f 974 (- sum 973))) ((974) (f 975 (+ sum 974))) ((975) (f 976 (- sum 975))) ((976) (f 977 (+ sum 976))) ((977) (f 978 (- sum 977))) ((978) (f 979 (+ sum 978))) ((979) (f 980 (- sum 979))) ((980) (f 981 (+ sum 980))) ((981) (f 982 (- sum 981))) ((982) (f 983 (+ sum 982))) ((983) (f 984 (- sum 983))) ((984) (f 985 (+ sum 984))) ((985) (f 986 (- sum 985))) ((986) (f 987 (+ sum 986))) ((987) (f 988 (- sum 987))) ((988) (f 989 (+ sum 988))) ((989) (f 990 (- sum 989))) ((990) (f 991 (+ sum 990))) ((991) (f 992 (- sum 991))) ((992) (f 993 (+ sum 992))) ((993) (f 994 (- sum 993))) ((994) (f 995 (+ sum 994))) ((995) (f 996 (- sum 995))) ((996) (f 997 (+ sum 996))) ((997) (f 998 (- sum 997))) ((998) (f 999 (+ sum 998))) ((999) (f 1000 (- sum 999))) ((1000) (f 1001 (+ sum 1000))) (else (+ sum 999)))) (f x 0)) (define (s1000 x) (define (f x sum) (case x ((one) (f 'two (- sum 1))) ((two) (f 'three (+ sum 2))) ((three) (f 'four (- sum 3))) ((four) (f 'five (+ sum 4))) ((five) (f 'six (- sum 5))) ((six) (f 'seven (+ sum 6))) ((seven) (f 'eight (- sum 7))) ((eight) (f 'nine (+ sum 8))) ((nine) (f 'onezero (- sum 9))) ((onezero) (f 'oneone (+ sum 10))) ((oneone) (f 'onetwo (- sum 11))) ((onetwo) (f 'onethree (+ sum 12))) ((onethree) (f 'onefour (- sum 13))) ((onefour) (f 'onefive (+ sum 14))) ((onefive) (f 'onesix (- sum 15))) ((onesix) (f 'oneseven (+ sum 16))) ((oneseven) (f 'oneeight (- sum 17))) ((oneeight) (f 'onenine (+ sum 18))) ((onenine) (f 'twozero (- sum 19))) ((twozero) (f 'twoone (+ sum 20))) ((twoone) (f 'twotwo (- sum 21))) ((twotwo) (f 'twothree (+ sum 22))) ((twothree) (f 'twofour (- sum 23))) ((twofour) (f 'twofive (+ sum 24))) ((twofive) (f 'twosix (- sum 25))) ((twosix) (f 'twoseven (+ sum 26))) ((twoseven) (f 'twoeight (- sum 27))) ((twoeight) (f 'twonine (+ sum 28))) ((twonine) (f 'threezero (- sum 29))) ((threezero) (f 'threeone (+ sum 30))) ((threeone) (f 'threetwo (- sum 31))) ((threetwo) (f 'threethree (+ sum 32))) ((threethree) (f 'threefour (- sum 33))) ((threefour) (f 'threefive (+ sum 34))) ((threefive) (f 'threesix (- sum 35))) ((threesix) (f 'threeseven (+ sum 36))) ((threeseven) (f 'threeeight (- sum 37))) ((threeeight) (f 'threenine (+ sum 38))) ((threenine) (f 'fourzero (- sum 39))) ((fourzero) (f 'fourone (+ sum 40))) ((fourone) (f 'fourtwo (- sum 41))) ((fourtwo) (f 'fourthree (+ sum 42))) ((fourthree) (f 'fourfour (- sum 43))) ((fourfour) (f 'fourfive (+ sum 44))) ((fourfive) (f 'foursix (- sum 45))) ((foursix) (f 'fourseven (+ sum 46))) ((fourseven) (f 'foureight (- sum 47))) ((foureight) (f 'fournine (+ sum 48))) ((fournine) (f 'fivezero (- sum 49))) ((fivezero) (f 'fiveone (+ sum 50))) ((fiveone) (f 'fivetwo (- sum 51))) ((fivetwo) (f 'fivethree (+ sum 52))) ((fivethree) (f 'fivefour (- sum 53))) ((fivefour) (f 'fivefive (+ sum 54))) ((fivefive) (f 'fivesix (- sum 55))) ((fivesix) (f 'fiveseven (+ sum 56))) ((fiveseven) (f 'fiveeight (- sum 57))) ((fiveeight) (f 'fivenine (+ sum 58))) ((fivenine) (f 'sixzero (- sum 59))) ((sixzero) (f 'sixone (+ sum 60))) ((sixone) (f 'sixtwo (- sum 61))) ((sixtwo) (f 'sixthree (+ sum 62))) ((sixthree) (f 'sixfour (- sum 63))) ((sixfour) (f 'sixfive (+ sum 64))) ((sixfive) (f 'sixsix (- sum 65))) ((sixsix) (f 'sixseven (+ sum 66))) ((sixseven) (f 'sixeight (- sum 67))) ((sixeight) (f 'sixnine (+ sum 68))) ((sixnine) (f 'sevenzero (- sum 69))) ((sevenzero) (f 'sevenone (+ sum 70))) ((sevenone) (f 'seventwo (- sum 71))) ((seventwo) (f 'seventhree (+ sum 72))) ((seventhree) (f 'sevenfour (- sum 73))) ((sevenfour) (f 'sevenfive (+ sum 74))) ((sevenfive) (f 'sevensix (- sum 75))) ((sevensix) (f 'sevenseven (+ sum 76))) ((sevenseven) (f 'seveneight (- sum 77))) ((seveneight) (f 'sevennine (+ sum 78))) ((sevennine) (f 'eightzero (- sum 79))) ((eightzero) (f 'eightone (+ sum 80))) ((eightone) (f 'eighttwo (- sum 81))) ((eighttwo) (f 'eightthree (+ sum 82))) ((eightthree) (f 'eightfour (- sum 83))) ((eightfour) (f 'eightfive (+ sum 84))) ((eightfive) (f 'eightsix (- sum 85))) ((eightsix) (f 'eightseven (+ sum 86))) ((eightseven) (f 'eighteight (- sum 87))) ((eighteight) (f 'eightnine (+ sum 88))) ((eightnine) (f 'ninezero (- sum 89))) ((ninezero) (f 'nineone (+ sum 90))) ((nineone) (f 'ninetwo (- sum 91))) ((ninetwo) (f 'ninethree (+ sum 92))) ((ninethree) (f 'ninefour (- sum 93))) ((ninefour) (f 'ninefive (+ sum 94))) ((ninefive) (f 'ninesix (- sum 95))) ((ninesix) (f 'nineseven (+ sum 96))) ((nineseven) (f 'nineeight (- sum 97))) ((nineeight) (f 'ninenine (+ sum 98))) ((ninenine) (f 'onezerozero (- sum 99))) ((onezerozero) (f 'onezeroone (+ sum 100))) ((onezeroone) (f 'onezerotwo (- sum 101))) ((onezerotwo) (f 'onezerothree (+ sum 102))) ((onezerothree) (f 'onezerofour (- sum 103))) ((onezerofour) (f 'onezerofive (+ sum 104))) ((onezerofive) (f 'onezerosix (- sum 105))) ((onezerosix) (f 'onezeroseven (+ sum 106))) ((onezeroseven) (f 'onezeroeight (- sum 107))) ((onezeroeight) (f 'onezeronine (+ sum 108))) ((onezeronine) (f 'oneonezero (- sum 109))) ((oneonezero) (f 'oneoneone (+ sum 110))) ((oneoneone) (f 'oneonetwo (- sum 111))) ((oneonetwo) (f 'oneonethree (+ sum 112))) ((oneonethree) (f 'oneonefour (- sum 113))) ((oneonefour) (f 'oneonefive (+ sum 114))) ((oneonefive) (f 'oneonesix (- sum 115))) ((oneonesix) (f 'oneoneseven (+ sum 116))) ((oneoneseven) (f 'oneoneeight (- sum 117))) ((oneoneeight) (f 'oneonenine (+ sum 118))) ((oneonenine) (f 'onetwozero (- sum 119))) ((onetwozero) (f 'onetwoone (+ sum 120))) ((onetwoone) (f 'onetwotwo (- sum 121))) ((onetwotwo) (f 'onetwothree (+ sum 122))) ((onetwothree) (f 'onetwofour (- sum 123))) ((onetwofour) (f 'onetwofive (+ sum 124))) ((onetwofive) (f 'onetwosix (- sum 125))) ((onetwosix) (f 'onetwoseven (+ sum 126))) ((onetwoseven) (f 'onetwoeight (- sum 127))) ((onetwoeight) (f 'onetwonine (+ sum 128))) ((onetwonine) (f 'onethreezero (- sum 129))) ((onethreezero) (f 'onethreeone (+ sum 130))) ((onethreeone) (f 'onethreetwo (- sum 131))) ((onethreetwo) (f 'onethreethree (+ sum 132))) ((onethreethree) (f 'onethreefour (- sum 133))) ((onethreefour) (f 'onethreefive (+ sum 134))) ((onethreefive) (f 'onethreesix (- sum 135))) ((onethreesix) (f 'onethreeseven (+ sum 136))) ((onethreeseven) (f 'onethreeeight (- sum 137))) ((onethreeeight) (f 'onethreenine (+ sum 138))) ((onethreenine) (f 'onefourzero (- sum 139))) ((onefourzero) (f 'onefourone (+ sum 140))) ((onefourone) (f 'onefourtwo (- sum 141))) ((onefourtwo) (f 'onefourthree (+ sum 142))) ((onefourthree) (f 'onefourfour (- sum 143))) ((onefourfour) (f 'onefourfive (+ sum 144))) ((onefourfive) (f 'onefoursix (- sum 145))) ((onefoursix) (f 'onefourseven (+ sum 146))) ((onefourseven) (f 'onefoureight (- sum 147))) ((onefoureight) (f 'onefournine (+ sum 148))) ((onefournine) (f 'onefivezero (- sum 149))) ((onefivezero) (f 'onefiveone (+ sum 150))) ((onefiveone) (f 'onefivetwo (- sum 151))) ((onefivetwo) (f 'onefivethree (+ sum 152))) ((onefivethree) (f 'onefivefour (- sum 153))) ((onefivefour) (f 'onefivefive (+ sum 154))) ((onefivefive) (f 'onefivesix (- sum 155))) ((onefivesix) (f 'onefiveseven (+ sum 156))) ((onefiveseven) (f 'onefiveeight (- sum 157))) ((onefiveeight) (f 'onefivenine (+ sum 158))) ((onefivenine) (f 'onesixzero (- sum 159))) ((onesixzero) (f 'onesixone (+ sum 160))) ((onesixone) (f 'onesixtwo (- sum 161))) ((onesixtwo) (f 'onesixthree (+ sum 162))) ((onesixthree) (f 'onesixfour (- sum 163))) ((onesixfour) (f 'onesixfive (+ sum 164))) ((onesixfive) (f 'onesixsix (- sum 165))) ((onesixsix) (f 'onesixseven (+ sum 166))) ((onesixseven) (f 'onesixeight (- sum 167))) ((onesixeight) (f 'onesixnine (+ sum 168))) ((onesixnine) (f 'onesevenzero (- sum 169))) ((onesevenzero) (f 'onesevenone (+ sum 170))) ((onesevenone) (f 'oneseventwo (- sum 171))) ((oneseventwo) (f 'oneseventhree (+ sum 172))) ((oneseventhree) (f 'onesevenfour (- sum 173))) ((onesevenfour) (f 'onesevenfive (+ sum 174))) ((onesevenfive) (f 'onesevensix (- sum 175))) ((onesevensix) (f 'onesevenseven (+ sum 176))) ((onesevenseven) (f 'oneseveneight (- sum 177))) ((oneseveneight) (f 'onesevennine (+ sum 178))) ((onesevennine) (f 'oneeightzero (- sum 179))) ((oneeightzero) (f 'oneeightone (+ sum 180))) ((oneeightone) (f 'oneeighttwo (- sum 181))) ((oneeighttwo) (f 'oneeightthree (+ sum 182))) ((oneeightthree) (f 'oneeightfour (- sum 183))) ((oneeightfour) (f 'oneeightfive (+ sum 184))) ((oneeightfive) (f 'oneeightsix (- sum 185))) ((oneeightsix) (f 'oneeightseven (+ sum 186))) ((oneeightseven) (f 'oneeighteight (- sum 187))) ((oneeighteight) (f 'oneeightnine (+ sum 188))) ((oneeightnine) (f 'oneninezero (- sum 189))) ((oneninezero) (f 'onenineone (+ sum 190))) ((onenineone) (f 'oneninetwo (- sum 191))) ((oneninetwo) (f 'oneninethree (+ sum 192))) ((oneninethree) (f 'oneninefour (- sum 193))) ((oneninefour) (f 'oneninefive (+ sum 194))) ((oneninefive) (f 'oneninesix (- sum 195))) ((oneninesix) (f 'onenineseven (+ sum 196))) ((onenineseven) (f 'onenineeight (- sum 197))) ((onenineeight) (f 'oneninenine (+ sum 198))) ((oneninenine) (f 'twozerozero (- sum 199))) ((twozerozero) (f 'twozeroone (+ sum 200))) ((twozeroone) (f 'twozerotwo (- sum 201))) ((twozerotwo) (f 'twozerothree (+ sum 202))) ((twozerothree) (f 'twozerofour (- sum 203))) ((twozerofour) (f 'twozerofive (+ sum 204))) ((twozerofive) (f 'twozerosix (- sum 205))) ((twozerosix) (f 'twozeroseven (+ sum 206))) ((twozeroseven) (f 'twozeroeight (- sum 207))) ((twozeroeight) (f 'twozeronine (+ sum 208))) ((twozeronine) (f 'twoonezero (- sum 209))) ((twoonezero) (f 'twooneone (+ sum 210))) ((twooneone) (f 'twoonetwo (- sum 211))) ((twoonetwo) (f 'twoonethree (+ sum 212))) ((twoonethree) (f 'twoonefour (- sum 213))) ((twoonefour) (f 'twoonefive (+ sum 214))) ((twoonefive) (f 'twoonesix (- sum 215))) ((twoonesix) (f 'twooneseven (+ sum 216))) ((twooneseven) (f 'twooneeight (- sum 217))) ((twooneeight) (f 'twoonenine (+ sum 218))) ((twoonenine) (f 'twotwozero (- sum 219))) ((twotwozero) (f 'twotwoone (+ sum 220))) ((twotwoone) (f 'twotwotwo (- sum 221))) ((twotwotwo) (f 'twotwothree (+ sum 222))) ((twotwothree) (f 'twotwofour (- sum 223))) ((twotwofour) (f 'twotwofive (+ sum 224))) ((twotwofive) (f 'twotwosix (- sum 225))) ((twotwosix) (f 'twotwoseven (+ sum 226))) ((twotwoseven) (f 'twotwoeight (- sum 227))) ((twotwoeight) (f 'twotwonine (+ sum 228))) ((twotwonine) (f 'twothreezero (- sum 229))) ((twothreezero) (f 'twothreeone (+ sum 230))) ((twothreeone) (f 'twothreetwo (- sum 231))) ((twothreetwo) (f 'twothreethree (+ sum 232))) ((twothreethree) (f 'twothreefour (- sum 233))) ((twothreefour) (f 'twothreefive (+ sum 234))) ((twothreefive) (f 'twothreesix (- sum 235))) ((twothreesix) (f 'twothreeseven (+ sum 236))) ((twothreeseven) (f 'twothreeeight (- sum 237))) ((twothreeeight) (f 'twothreenine (+ sum 238))) ((twothreenine) (f 'twofourzero (- sum 239))) ((twofourzero) (f 'twofourone (+ sum 240))) ((twofourone) (f 'twofourtwo (- sum 241))) ((twofourtwo) (f 'twofourthree (+ sum 242))) ((twofourthree) (f 'twofourfour (- sum 243))) ((twofourfour) (f 'twofourfive (+ sum 244))) ((twofourfive) (f 'twofoursix (- sum 245))) ((twofoursix) (f 'twofourseven (+ sum 246))) ((twofourseven) (f 'twofoureight (- sum 247))) ((twofoureight) (f 'twofournine (+ sum 248))) ((twofournine) (f 'twofivezero (- sum 249))) ((twofivezero) (f 'twofiveone (+ sum 250))) ((twofiveone) (f 'twofivetwo (- sum 251))) ((twofivetwo) (f 'twofivethree (+ sum 252))) ((twofivethree) (f 'twofivefour (- sum 253))) ((twofivefour) (f 'twofivefive (+ sum 254))) ((twofivefive) (f 'twofivesix (- sum 255))) ((twofivesix) (f 'twofiveseven (+ sum 256))) ((twofiveseven) (f 'twofiveeight (- sum 257))) ((twofiveeight) (f 'twofivenine (+ sum 258))) ((twofivenine) (f 'twosixzero (- sum 259))) ((twosixzero) (f 'twosixone (+ sum 260))) ((twosixone) (f 'twosixtwo (- sum 261))) ((twosixtwo) (f 'twosixthree (+ sum 262))) ((twosixthree) (f 'twosixfour (- sum 263))) ((twosixfour) (f 'twosixfive (+ sum 264))) ((twosixfive) (f 'twosixsix (- sum 265))) ((twosixsix) (f 'twosixseven (+ sum 266))) ((twosixseven) (f 'twosixeight (- sum 267))) ((twosixeight) (f 'twosixnine (+ sum 268))) ((twosixnine) (f 'twosevenzero (- sum 269))) ((twosevenzero) (f 'twosevenone (+ sum 270))) ((twosevenone) (f 'twoseventwo (- sum 271))) ((twoseventwo) (f 'twoseventhree (+ sum 272))) ((twoseventhree) (f 'twosevenfour (- sum 273))) ((twosevenfour) (f 'twosevenfive (+ sum 274))) ((twosevenfive) (f 'twosevensix (- sum 275))) ((twosevensix) (f 'twosevenseven (+ sum 276))) ((twosevenseven) (f 'twoseveneight (- sum 277))) ((twoseveneight) (f 'twosevennine (+ sum 278))) ((twosevennine) (f 'twoeightzero (- sum 279))) ((twoeightzero) (f 'twoeightone (+ sum 280))) ((twoeightone) (f 'twoeighttwo (- sum 281))) ((twoeighttwo) (f 'twoeightthree (+ sum 282))) ((twoeightthree) (f 'twoeightfour (- sum 283))) ((twoeightfour) (f 'twoeightfive (+ sum 284))) ((twoeightfive) (f 'twoeightsix (- sum 285))) ((twoeightsix) (f 'twoeightseven (+ sum 286))) ((twoeightseven) (f 'twoeighteight (- sum 287))) ((twoeighteight) (f 'twoeightnine (+ sum 288))) ((twoeightnine) (f 'twoninezero (- sum 289))) ((twoninezero) (f 'twonineone (+ sum 290))) ((twonineone) (f 'twoninetwo (- sum 291))) ((twoninetwo) (f 'twoninethree (+ sum 292))) ((twoninethree) (f 'twoninefour (- sum 293))) ((twoninefour) (f 'twoninefive (+ sum 294))) ((twoninefive) (f 'twoninesix (- sum 295))) ((twoninesix) (f 'twonineseven (+ sum 296))) ((twonineseven) (f 'twonineeight (- sum 297))) ((twonineeight) (f 'twoninenine (+ sum 298))) ((twoninenine) (f 'threezerozero (- sum 299))) ((threezerozero) (f 'threezeroone (+ sum 300))) ((threezeroone) (f 'threezerotwo (- sum 301))) ((threezerotwo) (f 'threezerothree (+ sum 302))) ((threezerothree) (f 'threezerofour (- sum 303))) ((threezerofour) (f 'threezerofive (+ sum 304))) ((threezerofive) (f 'threezerosix (- sum 305))) ((threezerosix) (f 'threezeroseven (+ sum 306))) ((threezeroseven) (f 'threezeroeight (- sum 307))) ((threezeroeight) (f 'threezeronine (+ sum 308))) ((threezeronine) (f 'threeonezero (- sum 309))) ((threeonezero) (f 'threeoneone (+ sum 310))) ((threeoneone) (f 'threeonetwo (- sum 311))) ((threeonetwo) (f 'threeonethree (+ sum 312))) ((threeonethree) (f 'threeonefour (- sum 313))) ((threeonefour) (f 'threeonefive (+ sum 314))) ((threeonefive) (f 'threeonesix (- sum 315))) ((threeonesix) (f 'threeoneseven (+ sum 316))) ((threeoneseven) (f 'threeoneeight (- sum 317))) ((threeoneeight) (f 'threeonenine (+ sum 318))) ((threeonenine) (f 'threetwozero (- sum 319))) ((threetwozero) (f 'threetwoone (+ sum 320))) ((threetwoone) (f 'threetwotwo (- sum 321))) ((threetwotwo) (f 'threetwothree (+ sum 322))) ((threetwothree) (f 'threetwofour (- sum 323))) ((threetwofour) (f 'threetwofive (+ sum 324))) ((threetwofive) (f 'threetwosix (- sum 325))) ((threetwosix) (f 'threetwoseven (+ sum 326))) ((threetwoseven) (f 'threetwoeight (- sum 327))) ((threetwoeight) (f 'threetwonine (+ sum 328))) ((threetwonine) (f 'threethreezero (- sum 329))) ((threethreezero) (f 'threethreeone (+ sum 330))) ((threethreeone) (f 'threethreetwo (- sum 331))) ((threethreetwo) (f 'threethreethree (+ sum 332))) ((threethreethree) (f 'threethreefour (- sum 333))) ((threethreefour) (f 'threethreefive (+ sum 334))) ((threethreefive) (f 'threethreesix (- sum 335))) ((threethreesix) (f 'threethreeseven (+ sum 336))) ((threethreeseven) (f 'threethreeeight (- sum 337))) ((threethreeeight) (f 'threethreenine (+ sum 338))) ((threethreenine) (f 'threefourzero (- sum 339))) ((threefourzero) (f 'threefourone (+ sum 340))) ((threefourone) (f 'threefourtwo (- sum 341))) ((threefourtwo) (f 'threefourthree (+ sum 342))) ((threefourthree) (f 'threefourfour (- sum 343))) ((threefourfour) (f 'threefourfive (+ sum 344))) ((threefourfive) (f 'threefoursix (- sum 345))) ((threefoursix) (f 'threefourseven (+ sum 346))) ((threefourseven) (f 'threefoureight (- sum 347))) ((threefoureight) (f 'threefournine (+ sum 348))) ((threefournine) (f 'threefivezero (- sum 349))) ((threefivezero) (f 'threefiveone (+ sum 350))) ((threefiveone) (f 'threefivetwo (- sum 351))) ((threefivetwo) (f 'threefivethree (+ sum 352))) ((threefivethree) (f 'threefivefour (- sum 353))) ((threefivefour) (f 'threefivefive (+ sum 354))) ((threefivefive) (f 'threefivesix (- sum 355))) ((threefivesix) (f 'threefiveseven (+ sum 356))) ((threefiveseven) (f 'threefiveeight (- sum 357))) ((threefiveeight) (f 'threefivenine (+ sum 358))) ((threefivenine) (f 'threesixzero (- sum 359))) ((threesixzero) (f 'threesixone (+ sum 360))) ((threesixone) (f 'threesixtwo (- sum 361))) ((threesixtwo) (f 'threesixthree (+ sum 362))) ((threesixthree) (f 'threesixfour (- sum 363))) ((threesixfour) (f 'threesixfive (+ sum 364))) ((threesixfive) (f 'threesixsix (- sum 365))) ((threesixsix) (f 'threesixseven (+ sum 366))) ((threesixseven) (f 'threesixeight (- sum 367))) ((threesixeight) (f 'threesixnine (+ sum 368))) ((threesixnine) (f 'threesevenzero (- sum 369))) ((threesevenzero) (f 'threesevenone (+ sum 370))) ((threesevenone) (f 'threeseventwo (- sum 371))) ((threeseventwo) (f 'threeseventhree (+ sum 372))) ((threeseventhree) (f 'threesevenfour (- sum 373))) ((threesevenfour) (f 'threesevenfive (+ sum 374))) ((threesevenfive) (f 'threesevensix (- sum 375))) ((threesevensix) (f 'threesevenseven (+ sum 376))) ((threesevenseven) (f 'threeseveneight (- sum 377))) ((threeseveneight) (f 'threesevennine (+ sum 378))) ((threesevennine) (f 'threeeightzero (- sum 379))) ((threeeightzero) (f 'threeeightone (+ sum 380))) ((threeeightone) (f 'threeeighttwo (- sum 381))) ((threeeighttwo) (f 'threeeightthree (+ sum 382))) ((threeeightthree) (f 'threeeightfour (- sum 383))) ((threeeightfour) (f 'threeeightfive (+ sum 384))) ((threeeightfive) (f 'threeeightsix (- sum 385))) ((threeeightsix) (f 'threeeightseven (+ sum 386))) ((threeeightseven) (f 'threeeighteight (- sum 387))) ((threeeighteight) (f 'threeeightnine (+ sum 388))) ((threeeightnine) (f 'threeninezero (- sum 389))) ((threeninezero) (f 'threenineone (+ sum 390))) ((threenineone) (f 'threeninetwo (- sum 391))) ((threeninetwo) (f 'threeninethree (+ sum 392))) ((threeninethree) (f 'threeninefour (- sum 393))) ((threeninefour) (f 'threeninefive (+ sum 394))) ((threeninefive) (f 'threeninesix (- sum 395))) ((threeninesix) (f 'threenineseven (+ sum 396))) ((threenineseven) (f 'threenineeight (- sum 397))) ((threenineeight) (f 'threeninenine (+ sum 398))) ((threeninenine) (f 'fourzerozero (- sum 399))) ((fourzerozero) (f 'fourzeroone (+ sum 400))) ((fourzeroone) (f 'fourzerotwo (- sum 401))) ((fourzerotwo) (f 'fourzerothree (+ sum 402))) ((fourzerothree) (f 'fourzerofour (- sum 403))) ((fourzerofour) (f 'fourzerofive (+ sum 404))) ((fourzerofive) (f 'fourzerosix (- sum 405))) ((fourzerosix) (f 'fourzeroseven (+ sum 406))) ((fourzeroseven) (f 'fourzeroeight (- sum 407))) ((fourzeroeight) (f 'fourzeronine (+ sum 408))) ((fourzeronine) (f 'fouronezero (- sum 409))) ((fouronezero) (f 'fouroneone (+ sum 410))) ((fouroneone) (f 'fouronetwo (- sum 411))) ((fouronetwo) (f 'fouronethree (+ sum 412))) ((fouronethree) (f 'fouronefour (- sum 413))) ((fouronefour) (f 'fouronefive (+ sum 414))) ((fouronefive) (f 'fouronesix (- sum 415))) ((fouronesix) (f 'fouroneseven (+ sum 416))) ((fouroneseven) (f 'fouroneeight (- sum 417))) ((fouroneeight) (f 'fouronenine (+ sum 418))) ((fouronenine) (f 'fourtwozero (- sum 419))) ((fourtwozero) (f 'fourtwoone (+ sum 420))) ((fourtwoone) (f 'fourtwotwo (- sum 421))) ((fourtwotwo) (f 'fourtwothree (+ sum 422))) ((fourtwothree) (f 'fourtwofour (- sum 423))) ((fourtwofour) (f 'fourtwofive (+ sum 424))) ((fourtwofive) (f 'fourtwosix (- sum 425))) ((fourtwosix) (f 'fourtwoseven (+ sum 426))) ((fourtwoseven) (f 'fourtwoeight (- sum 427))) ((fourtwoeight) (f 'fourtwonine (+ sum 428))) ((fourtwonine) (f 'fourthreezero (- sum 429))) ((fourthreezero) (f 'fourthreeone (+ sum 430))) ((fourthreeone) (f 'fourthreetwo (- sum 431))) ((fourthreetwo) (f 'fourthreethree (+ sum 432))) ((fourthreethree) (f 'fourthreefour (- sum 433))) ((fourthreefour) (f 'fourthreefive (+ sum 434))) ((fourthreefive) (f 'fourthreesix (- sum 435))) ((fourthreesix) (f 'fourthreeseven (+ sum 436))) ((fourthreeseven) (f 'fourthreeeight (- sum 437))) ((fourthreeeight) (f 'fourthreenine (+ sum 438))) ((fourthreenine) (f 'fourfourzero (- sum 439))) ((fourfourzero) (f 'fourfourone (+ sum 440))) ((fourfourone) (f 'fourfourtwo (- sum 441))) ((fourfourtwo) (f 'fourfourthree (+ sum 442))) ((fourfourthree) (f 'fourfourfour (- sum 443))) ((fourfourfour) (f 'fourfourfive (+ sum 444))) ((fourfourfive) (f 'fourfoursix (- sum 445))) ((fourfoursix) (f 'fourfourseven (+ sum 446))) ((fourfourseven) (f 'fourfoureight (- sum 447))) ((fourfoureight) (f 'fourfournine (+ sum 448))) ((fourfournine) (f 'fourfivezero (- sum 449))) ((fourfivezero) (f 'fourfiveone (+ sum 450))) ((fourfiveone) (f 'fourfivetwo (- sum 451))) ((fourfivetwo) (f 'fourfivethree (+ sum 452))) ((fourfivethree) (f 'fourfivefour (- sum 453))) ((fourfivefour) (f 'fourfivefive (+ sum 454))) ((fourfivefive) (f 'fourfivesix (- sum 455))) ((fourfivesix) (f 'fourfiveseven (+ sum 456))) ((fourfiveseven) (f 'fourfiveeight (- sum 457))) ((fourfiveeight) (f 'fourfivenine (+ sum 458))) ((fourfivenine) (f 'foursixzero (- sum 459))) ((foursixzero) (f 'foursixone (+ sum 460))) ((foursixone) (f 'foursixtwo (- sum 461))) ((foursixtwo) (f 'foursixthree (+ sum 462))) ((foursixthree) (f 'foursixfour (- sum 463))) ((foursixfour) (f 'foursixfive (+ sum 464))) ((foursixfive) (f 'foursixsix (- sum 465))) ((foursixsix) (f 'foursixseven (+ sum 466))) ((foursixseven) (f 'foursixeight (- sum 467))) ((foursixeight) (f 'foursixnine (+ sum 468))) ((foursixnine) (f 'foursevenzero (- sum 469))) ((foursevenzero) (f 'foursevenone (+ sum 470))) ((foursevenone) (f 'fourseventwo (- sum 471))) ((fourseventwo) (f 'fourseventhree (+ sum 472))) ((fourseventhree) (f 'foursevenfour (- sum 473))) ((foursevenfour) (f 'foursevenfive (+ sum 474))) ((foursevenfive) (f 'foursevensix (- sum 475))) ((foursevensix) (f 'foursevenseven (+ sum 476))) ((foursevenseven) (f 'fourseveneight (- sum 477))) ((fourseveneight) (f 'foursevennine (+ sum 478))) ((foursevennine) (f 'foureightzero (- sum 479))) ((foureightzero) (f 'foureightone (+ sum 480))) ((foureightone) (f 'foureighttwo (- sum 481))) ((foureighttwo) (f 'foureightthree (+ sum 482))) ((foureightthree) (f 'foureightfour (- sum 483))) ((foureightfour) (f 'foureightfive (+ sum 484))) ((foureightfive) (f 'foureightsix (- sum 485))) ((foureightsix) (f 'foureightseven (+ sum 486))) ((foureightseven) (f 'foureighteight (- sum 487))) ((foureighteight) (f 'foureightnine (+ sum 488))) ((foureightnine) (f 'fourninezero (- sum 489))) ((fourninezero) (f 'fournineone (+ sum 490))) ((fournineone) (f 'fourninetwo (- sum 491))) ((fourninetwo) (f 'fourninethree (+ sum 492))) ((fourninethree) (f 'fourninefour (- sum 493))) ((fourninefour) (f 'fourninefive (+ sum 494))) ((fourninefive) (f 'fourninesix (- sum 495))) ((fourninesix) (f 'fournineseven (+ sum 496))) ((fournineseven) (f 'fournineeight (- sum 497))) ((fournineeight) (f 'fourninenine (+ sum 498))) ((fourninenine) (f 'fivezerozero (- sum 499))) ((fivezerozero) (f 'fivezeroone (+ sum 500))) ((fivezeroone) (f 'fivezerotwo (- sum 501))) ((fivezerotwo) (f 'fivezerothree (+ sum 502))) ((fivezerothree) (f 'fivezerofour (- sum 503))) ((fivezerofour) (f 'fivezerofive (+ sum 504))) ((fivezerofive) (f 'fivezerosix (- sum 505))) ((fivezerosix) (f 'fivezeroseven (+ sum 506))) ((fivezeroseven) (f 'fivezeroeight (- sum 507))) ((fivezeroeight) (f 'fivezeronine (+ sum 508))) ((fivezeronine) (f 'fiveonezero (- sum 509))) ((fiveonezero) (f 'fiveoneone (+ sum 510))) ((fiveoneone) (f 'fiveonetwo (- sum 511))) ((fiveonetwo) (f 'fiveonethree (+ sum 512))) ((fiveonethree) (f 'fiveonefour (- sum 513))) ((fiveonefour) (f 'fiveonefive (+ sum 514))) ((fiveonefive) (f 'fiveonesix (- sum 515))) ((fiveonesix) (f 'fiveoneseven (+ sum 516))) ((fiveoneseven) (f 'fiveoneeight (- sum 517))) ((fiveoneeight) (f 'fiveonenine (+ sum 518))) ((fiveonenine) (f 'fivetwozero (- sum 519))) ((fivetwozero) (f 'fivetwoone (+ sum 520))) ((fivetwoone) (f 'fivetwotwo (- sum 521))) ((fivetwotwo) (f 'fivetwothree (+ sum 522))) ((fivetwothree) (f 'fivetwofour (- sum 523))) ((fivetwofour) (f 'fivetwofive (+ sum 524))) ((fivetwofive) (f 'fivetwosix (- sum 525))) ((fivetwosix) (f 'fivetwoseven (+ sum 526))) ((fivetwoseven) (f 'fivetwoeight (- sum 527))) ((fivetwoeight) (f 'fivetwonine (+ sum 528))) ((fivetwonine) (f 'fivethreezero (- sum 529))) ((fivethreezero) (f 'fivethreeone (+ sum 530))) ((fivethreeone) (f 'fivethreetwo (- sum 531))) ((fivethreetwo) (f 'fivethreethree (+ sum 532))) ((fivethreethree) (f 'fivethreefour (- sum 533))) ((fivethreefour) (f 'fivethreefive (+ sum 534))) ((fivethreefive) (f 'fivethreesix (- sum 535))) ((fivethreesix) (f 'fivethreeseven (+ sum 536))) ((fivethreeseven) (f 'fivethreeeight (- sum 537))) ((fivethreeeight) (f 'fivethreenine (+ sum 538))) ((fivethreenine) (f 'fivefourzero (- sum 539))) ((fivefourzero) (f 'fivefourone (+ sum 540))) ((fivefourone) (f 'fivefourtwo (- sum 541))) ((fivefourtwo) (f 'fivefourthree (+ sum 542))) ((fivefourthree) (f 'fivefourfour (- sum 543))) ((fivefourfour) (f 'fivefourfive (+ sum 544))) ((fivefourfive) (f 'fivefoursix (- sum 545))) ((fivefoursix) (f 'fivefourseven (+ sum 546))) ((fivefourseven) (f 'fivefoureight (- sum 547))) ((fivefoureight) (f 'fivefournine (+ sum 548))) ((fivefournine) (f 'fivefivezero (- sum 549))) ((fivefivezero) (f 'fivefiveone (+ sum 550))) ((fivefiveone) (f 'fivefivetwo (- sum 551))) ((fivefivetwo) (f 'fivefivethree (+ sum 552))) ((fivefivethree) (f 'fivefivefour (- sum 553))) ((fivefivefour) (f 'fivefivefive (+ sum 554))) ((fivefivefive) (f 'fivefivesix (- sum 555))) ((fivefivesix) (f 'fivefiveseven (+ sum 556))) ((fivefiveseven) (f 'fivefiveeight (- sum 557))) ((fivefiveeight) (f 'fivefivenine (+ sum 558))) ((fivefivenine) (f 'fivesixzero (- sum 559))) ((fivesixzero) (f 'fivesixone (+ sum 560))) ((fivesixone) (f 'fivesixtwo (- sum 561))) ((fivesixtwo) (f 'fivesixthree (+ sum 562))) ((fivesixthree) (f 'fivesixfour (- sum 563))) ((fivesixfour) (f 'fivesixfive (+ sum 564))) ((fivesixfive) (f 'fivesixsix (- sum 565))) ((fivesixsix) (f 'fivesixseven (+ sum 566))) ((fivesixseven) (f 'fivesixeight (- sum 567))) ((fivesixeight) (f 'fivesixnine (+ sum 568))) ((fivesixnine) (f 'fivesevenzero (- sum 569))) ((fivesevenzero) (f 'fivesevenone (+ sum 570))) ((fivesevenone) (f 'fiveseventwo (- sum 571))) ((fiveseventwo) (f 'fiveseventhree (+ sum 572))) ((fiveseventhree) (f 'fivesevenfour (- sum 573))) ((fivesevenfour) (f 'fivesevenfive (+ sum 574))) ((fivesevenfive) (f 'fivesevensix (- sum 575))) ((fivesevensix) (f 'fivesevenseven (+ sum 576))) ((fivesevenseven) (f 'fiveseveneight (- sum 577))) ((fiveseveneight) (f 'fivesevennine (+ sum 578))) ((fivesevennine) (f 'fiveeightzero (- sum 579))) ((fiveeightzero) (f 'fiveeightone (+ sum 580))) ((fiveeightone) (f 'fiveeighttwo (- sum 581))) ((fiveeighttwo) (f 'fiveeightthree (+ sum 582))) ((fiveeightthree) (f 'fiveeightfour (- sum 583))) ((fiveeightfour) (f 'fiveeightfive (+ sum 584))) ((fiveeightfive) (f 'fiveeightsix (- sum 585))) ((fiveeightsix) (f 'fiveeightseven (+ sum 586))) ((fiveeightseven) (f 'fiveeighteight (- sum 587))) ((fiveeighteight) (f 'fiveeightnine (+ sum 588))) ((fiveeightnine) (f 'fiveninezero (- sum 589))) ((fiveninezero) (f 'fivenineone (+ sum 590))) ((fivenineone) (f 'fiveninetwo (- sum 591))) ((fiveninetwo) (f 'fiveninethree (+ sum 592))) ((fiveninethree) (f 'fiveninefour (- sum 593))) ((fiveninefour) (f 'fiveninefive (+ sum 594))) ((fiveninefive) (f 'fiveninesix (- sum 595))) ((fiveninesix) (f 'fivenineseven (+ sum 596))) ((fivenineseven) (f 'fivenineeight (- sum 597))) ((fivenineeight) (f 'fiveninenine (+ sum 598))) ((fiveninenine) (f 'sixzerozero (- sum 599))) ((sixzerozero) (f 'sixzeroone (+ sum 600))) ((sixzeroone) (f 'sixzerotwo (- sum 601))) ((sixzerotwo) (f 'sixzerothree (+ sum 602))) ((sixzerothree) (f 'sixzerofour (- sum 603))) ((sixzerofour) (f 'sixzerofive (+ sum 604))) ((sixzerofive) (f 'sixzerosix (- sum 605))) ((sixzerosix) (f 'sixzeroseven (+ sum 606))) ((sixzeroseven) (f 'sixzeroeight (- sum 607))) ((sixzeroeight) (f 'sixzeronine (+ sum 608))) ((sixzeronine) (f 'sixonezero (- sum 609))) ((sixonezero) (f 'sixoneone (+ sum 610))) ((sixoneone) (f 'sixonetwo (- sum 611))) ((sixonetwo) (f 'sixonethree (+ sum 612))) ((sixonethree) (f 'sixonefour (- sum 613))) ((sixonefour) (f 'sixonefive (+ sum 614))) ((sixonefive) (f 'sixonesix (- sum 615))) ((sixonesix) (f 'sixoneseven (+ sum 616))) ((sixoneseven) (f 'sixoneeight (- sum 617))) ((sixoneeight) (f 'sixonenine (+ sum 618))) ((sixonenine) (f 'sixtwozero (- sum 619))) ((sixtwozero) (f 'sixtwoone (+ sum 620))) ((sixtwoone) (f 'sixtwotwo (- sum 621))) ((sixtwotwo) (f 'sixtwothree (+ sum 622))) ((sixtwothree) (f 'sixtwofour (- sum 623))) ((sixtwofour) (f 'sixtwofive (+ sum 624))) ((sixtwofive) (f 'sixtwosix (- sum 625))) ((sixtwosix) (f 'sixtwoseven (+ sum 626))) ((sixtwoseven) (f 'sixtwoeight (- sum 627))) ((sixtwoeight) (f 'sixtwonine (+ sum 628))) ((sixtwonine) (f 'sixthreezero (- sum 629))) ((sixthreezero) (f 'sixthreeone (+ sum 630))) ((sixthreeone) (f 'sixthreetwo (- sum 631))) ((sixthreetwo) (f 'sixthreethree (+ sum 632))) ((sixthreethree) (f 'sixthreefour (- sum 633))) ((sixthreefour) (f 'sixthreefive (+ sum 634))) ((sixthreefive) (f 'sixthreesix (- sum 635))) ((sixthreesix) (f 'sixthreeseven (+ sum 636))) ((sixthreeseven) (f 'sixthreeeight (- sum 637))) ((sixthreeeight) (f 'sixthreenine (+ sum 638))) ((sixthreenine) (f 'sixfourzero (- sum 639))) ((sixfourzero) (f 'sixfourone (+ sum 640))) ((sixfourone) (f 'sixfourtwo (- sum 641))) ((sixfourtwo) (f 'sixfourthree (+ sum 642))) ((sixfourthree) (f 'sixfourfour (- sum 643))) ((sixfourfour) (f 'sixfourfive (+ sum 644))) ((sixfourfive) (f 'sixfoursix (- sum 645))) ((sixfoursix) (f 'sixfourseven (+ sum 646))) ((sixfourseven) (f 'sixfoureight (- sum 647))) ((sixfoureight) (f 'sixfournine (+ sum 648))) ((sixfournine) (f 'sixfivezero (- sum 649))) ((sixfivezero) (f 'sixfiveone (+ sum 650))) ((sixfiveone) (f 'sixfivetwo (- sum 651))) ((sixfivetwo) (f 'sixfivethree (+ sum 652))) ((sixfivethree) (f 'sixfivefour (- sum 653))) ((sixfivefour) (f 'sixfivefive (+ sum 654))) ((sixfivefive) (f 'sixfivesix (- sum 655))) ((sixfivesix) (f 'sixfiveseven (+ sum 656))) ((sixfiveseven) (f 'sixfiveeight (- sum 657))) ((sixfiveeight) (f 'sixfivenine (+ sum 658))) ((sixfivenine) (f 'sixsixzero (- sum 659))) ((sixsixzero) (f 'sixsixone (+ sum 660))) ((sixsixone) (f 'sixsixtwo (- sum 661))) ((sixsixtwo) (f 'sixsixthree (+ sum 662))) ((sixsixthree) (f 'sixsixfour (- sum 663))) ((sixsixfour) (f 'sixsixfive (+ sum 664))) ((sixsixfive) (f 'sixsixsix (- sum 665))) ((sixsixsix) (f 'sixsixseven (+ sum 666))) ((sixsixseven) (f 'sixsixeight (- sum 667))) ((sixsixeight) (f 'sixsixnine (+ sum 668))) ((sixsixnine) (f 'sixsevenzero (- sum 669))) ((sixsevenzero) (f 'sixsevenone (+ sum 670))) ((sixsevenone) (f 'sixseventwo (- sum 671))) ((sixseventwo) (f 'sixseventhree (+ sum 672))) ((sixseventhree) (f 'sixsevenfour (- sum 673))) ((sixsevenfour) (f 'sixsevenfive (+ sum 674))) ((sixsevenfive) (f 'sixsevensix (- sum 675))) ((sixsevensix) (f 'sixsevenseven (+ sum 676))) ((sixsevenseven) (f 'sixseveneight (- sum 677))) ((sixseveneight) (f 'sixsevennine (+ sum 678))) ((sixsevennine) (f 'sixeightzero (- sum 679))) ((sixeightzero) (f 'sixeightone (+ sum 680))) ((sixeightone) (f 'sixeighttwo (- sum 681))) ((sixeighttwo) (f 'sixeightthree (+ sum 682))) ((sixeightthree) (f 'sixeightfour (- sum 683))) ((sixeightfour) (f 'sixeightfive (+ sum 684))) ((sixeightfive) (f 'sixeightsix (- sum 685))) ((sixeightsix) (f 'sixeightseven (+ sum 686))) ((sixeightseven) (f 'sixeighteight (- sum 687))) ((sixeighteight) (f 'sixeightnine (+ sum 688))) ((sixeightnine) (f 'sixninezero (- sum 689))) ((sixninezero) (f 'sixnineone (+ sum 690))) ((sixnineone) (f 'sixninetwo (- sum 691))) ((sixninetwo) (f 'sixninethree (+ sum 692))) ((sixninethree) (f 'sixninefour (- sum 693))) ((sixninefour) (f 'sixninefive (+ sum 694))) ((sixninefive) (f 'sixninesix (- sum 695))) ((sixninesix) (f 'sixnineseven (+ sum 696))) ((sixnineseven) (f 'sixnineeight (- sum 697))) ((sixnineeight) (f 'sixninenine (+ sum 698))) ((sixninenine) (f 'sevenzerozero (- sum 699))) ((sevenzerozero) (f 'sevenzeroone (+ sum 700))) ((sevenzeroone) (f 'sevenzerotwo (- sum 701))) ((sevenzerotwo) (f 'sevenzerothree (+ sum 702))) ((sevenzerothree) (f 'sevenzerofour (- sum 703))) ((sevenzerofour) (f 'sevenzerofive (+ sum 704))) ((sevenzerofive) (f 'sevenzerosix (- sum 705))) ((sevenzerosix) (f 'sevenzeroseven (+ sum 706))) ((sevenzeroseven) (f 'sevenzeroeight (- sum 707))) ((sevenzeroeight) (f 'sevenzeronine (+ sum 708))) ((sevenzeronine) (f 'sevenonezero (- sum 709))) ((sevenonezero) (f 'sevenoneone (+ sum 710))) ((sevenoneone) (f 'sevenonetwo (- sum 711))) ((sevenonetwo) (f 'sevenonethree (+ sum 712))) ((sevenonethree) (f 'sevenonefour (- sum 713))) ((sevenonefour) (f 'sevenonefive (+ sum 714))) ((sevenonefive) (f 'sevenonesix (- sum 715))) ((sevenonesix) (f 'sevenoneseven (+ sum 716))) ((sevenoneseven) (f 'sevenoneeight (- sum 717))) ((sevenoneeight) (f 'sevenonenine (+ sum 718))) ((sevenonenine) (f 'seventwozero (- sum 719))) ((seventwozero) (f 'seventwoone (+ sum 720))) ((seventwoone) (f 'seventwotwo (- sum 721))) ((seventwotwo) (f 'seventwothree (+ sum 722))) ((seventwothree) (f 'seventwofour (- sum 723))) ((seventwofour) (f 'seventwofive (+ sum 724))) ((seventwofive) (f 'seventwosix (- sum 725))) ((seventwosix) (f 'seventwoseven (+ sum 726))) ((seventwoseven) (f 'seventwoeight (- sum 727))) ((seventwoeight) (f 'seventwonine (+ sum 728))) ((seventwonine) (f 'seventhreezero (- sum 729))) ((seventhreezero) (f 'seventhreeone (+ sum 730))) ((seventhreeone) (f 'seventhreetwo (- sum 731))) ((seventhreetwo) (f 'seventhreethree (+ sum 732))) ((seventhreethree) (f 'seventhreefour (- sum 733))) ((seventhreefour) (f 'seventhreefive (+ sum 734))) ((seventhreefive) (f 'seventhreesix (- sum 735))) ((seventhreesix) (f 'seventhreeseven (+ sum 736))) ((seventhreeseven) (f 'seventhreeeight (- sum 737))) ((seventhreeeight) (f 'seventhreenine (+ sum 738))) ((seventhreenine) (f 'sevenfourzero (- sum 739))) ((sevenfourzero) (f 'sevenfourone (+ sum 740))) ((sevenfourone) (f 'sevenfourtwo (- sum 741))) ((sevenfourtwo) (f 'sevenfourthree (+ sum 742))) ((sevenfourthree) (f 'sevenfourfour (- sum 743))) ((sevenfourfour) (f 'sevenfourfive (+ sum 744))) ((sevenfourfive) (f 'sevenfoursix (- sum 745))) ((sevenfoursix) (f 'sevenfourseven (+ sum 746))) ((sevenfourseven) (f 'sevenfoureight (- sum 747))) ((sevenfoureight) (f 'sevenfournine (+ sum 748))) ((sevenfournine) (f 'sevenfivezero (- sum 749))) ((sevenfivezero) (f 'sevenfiveone (+ sum 750))) ((sevenfiveone) (f 'sevenfivetwo (- sum 751))) ((sevenfivetwo) (f 'sevenfivethree (+ sum 752))) ((sevenfivethree) (f 'sevenfivefour (- sum 753))) ((sevenfivefour) (f 'sevenfivefive (+ sum 754))) ((sevenfivefive) (f 'sevenfivesix (- sum 755))) ((sevenfivesix) (f 'sevenfiveseven (+ sum 756))) ((sevenfiveseven) (f 'sevenfiveeight (- sum 757))) ((sevenfiveeight) (f 'sevenfivenine (+ sum 758))) ((sevenfivenine) (f 'sevensixzero (- sum 759))) ((sevensixzero) (f 'sevensixone (+ sum 760))) ((sevensixone) (f 'sevensixtwo (- sum 761))) ((sevensixtwo) (f 'sevensixthree (+ sum 762))) ((sevensixthree) (f 'sevensixfour (- sum 763))) ((sevensixfour) (f 'sevensixfive (+ sum 764))) ((sevensixfive) (f 'sevensixsix (- sum 765))) ((sevensixsix) (f 'sevensixseven (+ sum 766))) ((sevensixseven) (f 'sevensixeight (- sum 767))) ((sevensixeight) (f 'sevensixnine (+ sum 768))) ((sevensixnine) (f 'sevensevenzero (- sum 769))) ((sevensevenzero) (f 'sevensevenone (+ sum 770))) ((sevensevenone) (f 'sevenseventwo (- sum 771))) ((sevenseventwo) (f 'sevenseventhree (+ sum 772))) ((sevenseventhree) (f 'sevensevenfour (- sum 773))) ((sevensevenfour) (f 'sevensevenfive (+ sum 774))) ((sevensevenfive) (f 'sevensevensix (- sum 775))) ((sevensevensix) (f 'sevensevenseven (+ sum 776))) ((sevensevenseven) (f 'sevenseveneight (- sum 777))) ((sevenseveneight) (f 'sevensevennine (+ sum 778))) ((sevensevennine) (f 'seveneightzero (- sum 779))) ((seveneightzero) (f 'seveneightone (+ sum 780))) ((seveneightone) (f 'seveneighttwo (- sum 781))) ((seveneighttwo) (f 'seveneightthree (+ sum 782))) ((seveneightthree) (f 'seveneightfour (- sum 783))) ((seveneightfour) (f 'seveneightfive (+ sum 784))) ((seveneightfive) (f 'seveneightsix (- sum 785))) ((seveneightsix) (f 'seveneightseven (+ sum 786))) ((seveneightseven) (f 'seveneighteight (- sum 787))) ((seveneighteight) (f 'seveneightnine (+ sum 788))) ((seveneightnine) (f 'sevenninezero (- sum 789))) ((sevenninezero) (f 'sevennineone (+ sum 790))) ((sevennineone) (f 'sevenninetwo (- sum 791))) ((sevenninetwo) (f 'sevenninethree (+ sum 792))) ((sevenninethree) (f 'sevenninefour (- sum 793))) ((sevenninefour) (f 'sevenninefive (+ sum 794))) ((sevenninefive) (f 'sevenninesix (- sum 795))) ((sevenninesix) (f 'sevennineseven (+ sum 796))) ((sevennineseven) (f 'sevennineeight (- sum 797))) ((sevennineeight) (f 'sevenninenine (+ sum 798))) ((sevenninenine) (f 'eightzerozero (- sum 799))) ((eightzerozero) (f 'eightzeroone (+ sum 800))) ((eightzeroone) (f 'eightzerotwo (- sum 801))) ((eightzerotwo) (f 'eightzerothree (+ sum 802))) ((eightzerothree) (f 'eightzerofour (- sum 803))) ((eightzerofour) (f 'eightzerofive (+ sum 804))) ((eightzerofive) (f 'eightzerosix (- sum 805))) ((eightzerosix) (f 'eightzeroseven (+ sum 806))) ((eightzeroseven) (f 'eightzeroeight (- sum 807))) ((eightzeroeight) (f 'eightzeronine (+ sum 808))) ((eightzeronine) (f 'eightonezero (- sum 809))) ((eightonezero) (f 'eightoneone (+ sum 810))) ((eightoneone) (f 'eightonetwo (- sum 811))) ((eightonetwo) (f 'eightonethree (+ sum 812))) ((eightonethree) (f 'eightonefour (- sum 813))) ((eightonefour) (f 'eightonefive (+ sum 814))) ((eightonefive) (f 'eightonesix (- sum 815))) ((eightonesix) (f 'eightoneseven (+ sum 816))) ((eightoneseven) (f 'eightoneeight (- sum 817))) ((eightoneeight) (f 'eightonenine (+ sum 818))) ((eightonenine) (f 'eighttwozero (- sum 819))) ((eighttwozero) (f 'eighttwoone (+ sum 820))) ((eighttwoone) (f 'eighttwotwo (- sum 821))) ((eighttwotwo) (f 'eighttwothree (+ sum 822))) ((eighttwothree) (f 'eighttwofour (- sum 823))) ((eighttwofour) (f 'eighttwofive (+ sum 824))) ((eighttwofive) (f 'eighttwosix (- sum 825))) ((eighttwosix) (f 'eighttwoseven (+ sum 826))) ((eighttwoseven) (f 'eighttwoeight (- sum 827))) ((eighttwoeight) (f 'eighttwonine (+ sum 828))) ((eighttwonine) (f 'eightthreezero (- sum 829))) ((eightthreezero) (f 'eightthreeone (+ sum 830))) ((eightthreeone) (f 'eightthreetwo (- sum 831))) ((eightthreetwo) (f 'eightthreethree (+ sum 832))) ((eightthreethree) (f 'eightthreefour (- sum 833))) ((eightthreefour) (f 'eightthreefive (+ sum 834))) ((eightthreefive) (f 'eightthreesix (- sum 835))) ((eightthreesix) (f 'eightthreeseven (+ sum 836))) ((eightthreeseven) (f 'eightthreeeight (- sum 837))) ((eightthreeeight) (f 'eightthreenine (+ sum 838))) ((eightthreenine) (f 'eightfourzero (- sum 839))) ((eightfourzero) (f 'eightfourone (+ sum 840))) ((eightfourone) (f 'eightfourtwo (- sum 841))) ((eightfourtwo) (f 'eightfourthree (+ sum 842))) ((eightfourthree) (f 'eightfourfour (- sum 843))) ((eightfourfour) (f 'eightfourfive (+ sum 844))) ((eightfourfive) (f 'eightfoursix (- sum 845))) ((eightfoursix) (f 'eightfourseven (+ sum 846))) ((eightfourseven) (f 'eightfoureight (- sum 847))) ((eightfoureight) (f 'eightfournine (+ sum 848))) ((eightfournine) (f 'eightfivezero (- sum 849))) ((eightfivezero) (f 'eightfiveone (+ sum 850))) ((eightfiveone) (f 'eightfivetwo (- sum 851))) ((eightfivetwo) (f 'eightfivethree (+ sum 852))) ((eightfivethree) (f 'eightfivefour (- sum 853))) ((eightfivefour) (f 'eightfivefive (+ sum 854))) ((eightfivefive) (f 'eightfivesix (- sum 855))) ((eightfivesix) (f 'eightfiveseven (+ sum 856))) ((eightfiveseven) (f 'eightfiveeight (- sum 857))) ((eightfiveeight) (f 'eightfivenine (+ sum 858))) ((eightfivenine) (f 'eightsixzero (- sum 859))) ((eightsixzero) (f 'eightsixone (+ sum 860))) ((eightsixone) (f 'eightsixtwo (- sum 861))) ((eightsixtwo) (f 'eightsixthree (+ sum 862))) ((eightsixthree) (f 'eightsixfour (- sum 863))) ((eightsixfour) (f 'eightsixfive (+ sum 864))) ((eightsixfive) (f 'eightsixsix (- sum 865))) ((eightsixsix) (f 'eightsixseven (+ sum 866))) ((eightsixseven) (f 'eightsixeight (- sum 867))) ((eightsixeight) (f 'eightsixnine (+ sum 868))) ((eightsixnine) (f 'eightsevenzero (- sum 869))) ((eightsevenzero) (f 'eightsevenone (+ sum 870))) ((eightsevenone) (f 'eightseventwo (- sum 871))) ((eightseventwo) (f 'eightseventhree (+ sum 872))) ((eightseventhree) (f 'eightsevenfour (- sum 873))) ((eightsevenfour) (f 'eightsevenfive (+ sum 874))) ((eightsevenfive) (f 'eightsevensix (- sum 875))) ((eightsevensix) (f 'eightsevenseven (+ sum 876))) ((eightsevenseven) (f 'eightseveneight (- sum 877))) ((eightseveneight) (f 'eightsevennine (+ sum 878))) ((eightsevennine) (f 'eighteightzero (- sum 879))) ((eighteightzero) (f 'eighteightone (+ sum 880))) ((eighteightone) (f 'eighteighttwo (- sum 881))) ((eighteighttwo) (f 'eighteightthree (+ sum 882))) ((eighteightthree) (f 'eighteightfour (- sum 883))) ((eighteightfour) (f 'eighteightfive (+ sum 884))) ((eighteightfive) (f 'eighteightsix (- sum 885))) ((eighteightsix) (f 'eighteightseven (+ sum 886))) ((eighteightseven) (f 'eighteighteight (- sum 887))) ((eighteighteight) (f 'eighteightnine (+ sum 888))) ((eighteightnine) (f 'eightninezero (- sum 889))) ((eightninezero) (f 'eightnineone (+ sum 890))) ((eightnineone) (f 'eightninetwo (- sum 891))) ((eightninetwo) (f 'eightninethree (+ sum 892))) ((eightninethree) (f 'eightninefour (- sum 893))) ((eightninefour) (f 'eightninefive (+ sum 894))) ((eightninefive) (f 'eightninesix (- sum 895))) ((eightninesix) (f 'eightnineseven (+ sum 896))) ((eightnineseven) (f 'eightnineeight (- sum 897))) ((eightnineeight) (f 'eightninenine (+ sum 898))) ((eightninenine) (f 'ninezerozero (- sum 899))) ((ninezerozero) (f 'ninezeroone (+ sum 900))) ((ninezeroone) (f 'ninezerotwo (- sum 901))) ((ninezerotwo) (f 'ninezerothree (+ sum 902))) ((ninezerothree) (f 'ninezerofour (- sum 903))) ((ninezerofour) (f 'ninezerofive (+ sum 904))) ((ninezerofive) (f 'ninezerosix (- sum 905))) ((ninezerosix) (f 'ninezeroseven (+ sum 906))) ((ninezeroseven) (f 'ninezeroeight (- sum 907))) ((ninezeroeight) (f 'ninezeronine (+ sum 908))) ((ninezeronine) (f 'nineonezero (- sum 909))) ((nineonezero) (f 'nineoneone (+ sum 910))) ((nineoneone) (f 'nineonetwo (- sum 911))) ((nineonetwo) (f 'nineonethree (+ sum 912))) ((nineonethree) (f 'nineonefour (- sum 913))) ((nineonefour) (f 'nineonefive (+ sum 914))) ((nineonefive) (f 'nineonesix (- sum 915))) ((nineonesix) (f 'nineoneseven (+ sum 916))) ((nineoneseven) (f 'nineoneeight (- sum 917))) ((nineoneeight) (f 'nineonenine (+ sum 918))) ((nineonenine) (f 'ninetwozero (- sum 919))) ((ninetwozero) (f 'ninetwoone (+ sum 920))) ((ninetwoone) (f 'ninetwotwo (- sum 921))) ((ninetwotwo) (f 'ninetwothree (+ sum 922))) ((ninetwothree) (f 'ninetwofour (- sum 923))) ((ninetwofour) (f 'ninetwofive (+ sum 924))) ((ninetwofive) (f 'ninetwosix (- sum 925))) ((ninetwosix) (f 'ninetwoseven (+ sum 926))) ((ninetwoseven) (f 'ninetwoeight (- sum 927))) ((ninetwoeight) (f 'ninetwonine (+ sum 928))) ((ninetwonine) (f 'ninethreezero (- sum 929))) ((ninethreezero) (f 'ninethreeone (+ sum 930))) ((ninethreeone) (f 'ninethreetwo (- sum 931))) ((ninethreetwo) (f 'ninethreethree (+ sum 932))) ((ninethreethree) (f 'ninethreefour (- sum 933))) ((ninethreefour) (f 'ninethreefive (+ sum 934))) ((ninethreefive) (f 'ninethreesix (- sum 935))) ((ninethreesix) (f 'ninethreeseven (+ sum 936))) ((ninethreeseven) (f 'ninethreeeight (- sum 937))) ((ninethreeeight) (f 'ninethreenine (+ sum 938))) ((ninethreenine) (f 'ninefourzero (- sum 939))) ((ninefourzero) (f 'ninefourone (+ sum 940))) ((ninefourone) (f 'ninefourtwo (- sum 941))) ((ninefourtwo) (f 'ninefourthree (+ sum 942))) ((ninefourthree) (f 'ninefourfour (- sum 943))) ((ninefourfour) (f 'ninefourfive (+ sum 944))) ((ninefourfive) (f 'ninefoursix (- sum 945))) ((ninefoursix) (f 'ninefourseven (+ sum 946))) ((ninefourseven) (f 'ninefoureight (- sum 947))) ((ninefoureight) (f 'ninefournine (+ sum 948))) ((ninefournine) (f 'ninefivezero (- sum 949))) ((ninefivezero) (f 'ninefiveone (+ sum 950))) ((ninefiveone) (f 'ninefivetwo (- sum 951))) ((ninefivetwo) (f 'ninefivethree (+ sum 952))) ((ninefivethree) (f 'ninefivefour (- sum 953))) ((ninefivefour) (f 'ninefivefive (+ sum 954))) ((ninefivefive) (f 'ninefivesix (- sum 955))) ((ninefivesix) (f 'ninefiveseven (+ sum 956))) ((ninefiveseven) (f 'ninefiveeight (- sum 957))) ((ninefiveeight) (f 'ninefivenine (+ sum 958))) ((ninefivenine) (f 'ninesixzero (- sum 959))) ((ninesixzero) (f 'ninesixone (+ sum 960))) ((ninesixone) (f 'ninesixtwo (- sum 961))) ((ninesixtwo) (f 'ninesixthree (+ sum 962))) ((ninesixthree) (f 'ninesixfour (- sum 963))) ((ninesixfour) (f 'ninesixfive (+ sum 964))) ((ninesixfive) (f 'ninesixsix (- sum 965))) ((ninesixsix) (f 'ninesixseven (+ sum 966))) ((ninesixseven) (f 'ninesixeight (- sum 967))) ((ninesixeight) (f 'ninesixnine (+ sum 968))) ((ninesixnine) (f 'ninesevenzero (- sum 969))) ((ninesevenzero) (f 'ninesevenone (+ sum 970))) ((ninesevenone) (f 'nineseventwo (- sum 971))) ((nineseventwo) (f 'nineseventhree (+ sum 972))) ((nineseventhree) (f 'ninesevenfour (- sum 973))) ((ninesevenfour) (f 'ninesevenfive (+ sum 974))) ((ninesevenfive) (f 'ninesevensix (- sum 975))) ((ninesevensix) (f 'ninesevenseven (+ sum 976))) ((ninesevenseven) (f 'nineseveneight (- sum 977))) ((nineseveneight) (f 'ninesevennine (+ sum 978))) ((ninesevennine) (f 'nineeightzero (- sum 979))) ((nineeightzero) (f 'nineeightone (+ sum 980))) ((nineeightone) (f 'nineeighttwo (- sum 981))) ((nineeighttwo) (f 'nineeightthree (+ sum 982))) ((nineeightthree) (f 'nineeightfour (- sum 983))) ((nineeightfour) (f 'nineeightfive (+ sum 984))) ((nineeightfive) (f 'nineeightsix (- sum 985))) ((nineeightsix) (f 'nineeightseven (+ sum 986))) ((nineeightseven) (f 'nineeighteight (- sum 987))) ((nineeighteight) (f 'nineeightnine (+ sum 988))) ((nineeightnine) (f 'nineninezero (- sum 989))) ((nineninezero) (f 'ninenineone (+ sum 990))) ((ninenineone) (f 'nineninetwo (- sum 991))) ((nineninetwo) (f 'nineninethree (+ sum 992))) ((nineninethree) (f 'nineninefour (- sum 993))) ((nineninefour) (f 'nineninefive (+ sum 994))) ((nineninefive) (f 'nineninesix (- sum 995))) ((nineninesix) (f 'ninenineseven (+ sum 996))) ((ninenineseven) (f 'ninenineeight (- sum 997))) ((ninenineeight) (f 'nineninenine (+ sum 998))) ((nineninenine) (f 'onezerozerozero (- sum 999))) ((onezerozerozero) (f 'onezerozeroone (+ sum 1000))) (else (+ sum 999)))) (f x 0)) (define (case-benchmark . rest) (let* ((proc (if (null? rest) s1000 (car rest))) (start (if (< (length rest) 2) 'one (cadr rest))) (result (if (< (length rest) 3) 1499 (caddr rest))) (n (if (< (length rest) 4) 1000 (cadddr rest))) (s (cond ((symbol? start) (symbol->string start)) ((char? start) (string start)) (else (number->string start)))) (benchmark-name (string-append "case:" s ":" (number->string n)))) (run-benchmark benchmark-name n (lambda () (proc start)) (lambda (x) (equal? x result))))) (define (all-case-benchmarks) (case-benchmark f10 1 14 100000) (case-benchmark s10 'one 14 100000) (case-benchmark f100 1 149 10000) (case-benchmark s100 'one 149 10000) ;(case-benchmark c100 #\newline 146 10000) (case-benchmark f1000 1 1499 1000) (case-benchmark s1000 'one 1499 1000))