 
 ;;wow solution
 ;;(fn [s]
-;;  (clojure.string/join "," 
-;;                       (filter 
+;;  (clojure.string/join ","
+;;                       (filter
 ;;                        #(-> % Integer. Math/sqrt (rem 1) zero?)
 ;;                        (re-seq #"\d+" s))))
 


;;79 Triangle Minimal Path
(letfn
  [(make-path [[node & tri] path]
    (if (seq tri)
      (->> [(map rest tri) (map drop-last tri)]
           (mapcat #(make-path % (concat path node))))
      [(concat path node)]))]
  (fn [tri]
    (->> (make-path tri [])
         (map #(apply + %))

    [[:a 1] [:a 2]] :vector
    [[:a 2] [:a 1]] :list
    #{[:a 2] [:a 1]} :set))

;;66 Greatest Common Divisor
(defn f[a b] (some #(if (every? integer? %) (first %)) (for [k (range (min a b) 0 -1)] [k (/ (min a b) k) (/ (max a b) k)])))
;; wow solution
