(def dice5 #(rand-int 5))

(defn dice7 []
  (quot (->> dice5                     
             (repeatedly 2)            
             (apply #(+ %1 (* 5 %2)))  
             #()                       
             repeatedly                
             (drop-while #(> % 20))    
             first)                    
        3))                            

(doseq [n [100 1000 10000] [num count okay?] (verify dice7 n)]
  (println "Saw" num count "times:"
           (if okay? "that's" "   not") "acceptable"))