module Main where main :: IO () main = readLn >>= print . solve solve :: Int -> Int solve n = sum . takeWhile (<=n) $ primes primes :: [Int] primes = sieve [2..] where sieve (p:xs) = p : sieve [ x | x <- xs, x `mod` p /= 0 ]