solved 29 with haskell