     [[: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


;;wow solution
;;(fn [s]
;;  (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 + %))
