(defun average (&rest parameters)
(if parameters
(let ((accum
(reduce #'(lambda (state value)
(list (+ (first state) value)
(1+ (second state))))
parameters
:initial-value (list 0 0))))
(/ (first accum) (second accum)))
0))
(format t "~a~%" (average 2 4 6))
CihkZWZ1biBhdmVyYWdlICgmcmVzdCBwYXJhbWV0ZXJzKQoJKGlmIHBhcmFtZXRlcnMKCQkobGV0ICgoYWNjdW0KCQkJCShyZWR1Y2UgIycobGFtYmRhIChzdGF0ZSB2YWx1ZSkKCQkJCQkJCShsaXN0ICgrIChmaXJzdCBzdGF0ZSkgdmFsdWUpCgkJCQkJCQkJKDErIChzZWNvbmQgc3RhdGUpKSkpCgkJCQkJCXBhcmFtZXRlcnMKCQkJCQkJOmluaXRpYWwtdmFsdWUgKGxpc3QgMCAwKSkpKQoJCQkoLyAoZmlyc3QgYWNjdW0pIChzZWNvbmQgYWNjdW0pKSkKCQkwKSkKCihmb3JtYXQgdCAifmF+JSIgKGF2ZXJhZ2UgMiA0IDYpKQo=