The list of prime numbers up to n is generated using the "sieve of
Erasthostenes". This approach is reasonably fast, but may require a lot of
main memory when n is large.
In double precision arithmetic integers are represented exactly only up to
2^53 - 1, therefore this is the maximal allowed value.