Modify the Sieve program developed in Section 11.1 to make two optimizations.

Modify the Sieve program developed in Section 11.1 to make two optimizations. First, instead of storing all integers up to the maximum in the numbers list, store only 2 and all odd numbers from 3 upward. Second, write code to ensure that if the first number in the numbers list ever reaches the square root of the maximum, all remaining values from the numbers list are moved into the primes list. (Why is this a valid operation?)