haskell solution for problem 1 and 2