-- prime numbers
import Data.List
sieve n l [] = l
sieve n l
(x:u
) = sieve n
(x:l
) (u \\
[i
* x
| i
<- [1..(div n x
)]])
primesBelow n = sieve n [] [2..n]
-- main = do (print (primesBelow 2000))
main
= do (print (sum (primesBelow
4000)))
-- print (divisors 600851475143)
-- print (allPrimes !! 10000)
LS0gcHJpbWUgbnVtYmVycwoKaW1wb3J0IERhdGEuTGlzdAoKc2lldmUgbiBsIFtdID0gbAoKc2lldmUgbiBsICh4OnUpID0gc2lldmUgbiAoeDpsKSAodSBcXCBbaSAqIHggfCBpIDwtIFsxLi4oZGl2IG4geCldXSkKCnByaW1lc0JlbG93IG4gPSBzaWV2ZSBuIFtdIFsyLi5uXQoKLS0gbWFpbiA9IGRvIChwcmludCAocHJpbWVzQmVsb3cgMjAwMCkpCgptYWluID0gZG8gKHByaW50IChzdW0gKHByaW1lc0JlbG93IDQwMDApKSkKCi0tCXByaW50IChkaXZpc29ycyA2MDA4NTE0NzUxNDMpCi0tCXByaW50IChhbGxQcmltZXMgISEgMTAwMDAp