Exercises taken from here https://www.haskell.org/haskellwiki/H-99:_Ninety-Nine_Haskell_Problems