Project Euler problems in Haskell