Exercise 1.22 in Common Lisp