Clojure solution