-- What is the largest prime factor of the number 600851475143 ?
import Euler
factors n = go (primes ()) n
where go (p:ps) n | n < p = []
| n `mod` p == 0 = p : go (p:ps) (n `div` p)
| otherwise = go ps n
main = print $ last $ factors 600851475143