added 02: version with sieve