Solved 1 and 2 using clojure