Solving Project Euler problems in Haskell