(define (bottles n) (display (string-append (cond ((= n 0) "No more bottles") ((= n 1) "One bottle") (else (string-append (number->string n) " bottles"))) " of beer"))) (define (beer n) (if (> n 0) (begin (bottles n) (display " on the wall") (newline) (bottles n) (newline) (display "Take one down, pass it around") (newline) (bottles (- n 1)) (display " on the wall") (newline) (newline) (beer (- n 1)) ) null ) ) (beer 99)