Puzzles solved using the Haskell prog language