                            9 [i x]}]
                  (apply str (d->r d))))
         digits (fn [n] (map #(- (int %) (int \0)) (str n)))]
-    (->> (map a->r (reverse (digits a)) (partition-all 3 2 r ))
+    (->> (map a->r (reverse (digits a)) (partition-all 3 2 r))
          (reverse)
          (apply str))))
 ;; wow solution

   (cond
     (and (not (sequential? l)) (not (sequential? r))) (= l r)
     (and (sequential? l) (sequential? r)) (and (= (first l) (first r))
                                  (f (second l) (last r))
                                  (f (last l) (second r)))
     :else false)))
;; wow solution
;;#(let [t (fn t [[v l r]] [v (if r (t r)) (if l (t l))])


     (match? [gray samples]
       (if (some identity (map #(every? (set gray) %) samples))
           1 0))

     (gray-map [samples]
       (let [sample (sort (clojure.string/lower-case (apply str (first samples))))
