>>621 import Data.List divisor n = find (\m -> n `mod` m ==0 )[2..floor.sqrt.fromIntegral $ n] choose n r = product[1..n] `div` product[1..n-r] `div` product[1..r] [(n,k,p) | n <- [2..], k <- [1..(n-1)], p <-[2..], divisor p == Nothing, choose n k == product[1..p]]