-- -*- haskell -*-primeTest n=all((0/=).mod n)$takeWhile(<=floor(sqrt$fromIntegral n))$drop 3 primesprimes=2:3:5:7:[k+r|k<-[0,30..],r<-[11,13,17,19,23,29,31,37],primeTest(k+r)]isPrime n=elem n$takeWhile(<=n)primes