begin declare define define-syntax define-structure do let let* letrec let-syntax letrec-syntax lambda boolean char-alphabetic char-numeric char-lower-case char-ready char-upper-case char-whitespace complex eof-object eq eqv equal even input-port integer list negative null number odd output-port pair port positive procedure rational real symbol vector zero char string append set set-car set-cdr string-fill string-set abs and angle acos asin atan cos denominator exp expt floor gcd lcm log magnitude max min modulo not numerator or round sin sqrt tan truncate apply assq assv assoc call-with-current-continuation call-with-input-file call-with-output-file call-with-values car case cdr ceiling char-upcase char-downcase close-input-file close-output-file cond cons cons* current-input-port current-output-port delay display dynamic-wind else eval force for-each if imag-part interaction-environment length list list-ref list-tail memq memv member load make-polar make-rectangular make-string make-vector map newline null-environment open-input-file open-output-file peek-char quasiquote quote quotient rationalize read read-char real-part remainder reverse scheme-report-environment space string-append string-copy string-length string-ref substring syntax-rules transcript-on transcript-off unquote unquote-splicing values with-input-from-file with-output-to-file write write-char