n-puzzle solver in Clojure