Euler problems in Haskell