euler 28 in haskell