(define (square x)
  (* x x))
(define (cube x)
  (* x x x))
(define (cube x)
  (* x (square x)))

(define (käänteisluku x)
  (/ 1 x))

(define (nearest-even n)
  (+ n (if (even? n) 0 -1)))

(define (nearest-even n)
  (if (even? n) n (- n 1)))

(define (begins-with? str letter)
  (eqv? (string-ref str 0) letter))

(define (begins-with-a? str)
  (begins-with? str #\a))

(define (bracket str b)
  (string-append b str b))
(define (emphasise str)
  (bracket str "*"))

(define (vowel? c)
  (or (eqv? c #\a) (eqv? c #\e) (eqv? c #\i)
      (eqv? c #\o) (eqv? c #\u)))

(define (vowel? c)
  (memv c '(#\a #\e #\i #\o #\u)))
(define (consonant? c)
  (not (vowel? c)))
(define (consonant? c)
  (if (vowel? c) #f #t))

(define (sum list)
  (if (null? list) 0
      (+ (car list) (sum (cdr list)))))
(define (real-product list)
  (if (null? list) 1
      (* (car list) (real-product (cdr list)))))
(define (product list)
  (if (null? list) 0 (real-product list)))

(define (factorial n)
  (if (= 1 n) 1
      (* n (factorial (- n 1)))))

(define (contains? list element)
  (if (null? list) #f
      (if (eqv? (car list) element) #t
          (contains? (cdr list) element))))

