wrote sieve in haskell