primitive sieve