adjusted c prime sieve+factors to use struct return