import Data.Maybe import Data.List import Data.Char import Control.Monad main = getLine >>= print . tsutsu tsutsu = fromJust . maximum . map eval . enumerate enumerate xs = map (take l) . take l . tails . cycle $ xs where l = length xs eval s = do guard (isDigit (head s) && isDigit (last s)) return $ sum (unfoldr parse s) parse "" = Nothing parse ('+':s) = parse s parse ('-':s) = let (n,s') = span isDigit s in Just (negate (read n), s') parse s = let (n,s') = span isDigit s in Just (read n, s')