import Data.List import Data.Char calc :: (String, Int, (Int->Int), Int) -> (String, Int, (Int->Int), Int) calc ([], res, op, num) = ([], op num, op, num) calc ((x:xs), res, op, num) | isDigit x = calc (xs, res, op, num * 10 + (ord x - ord '0')) | x == '+' = calc (xs, res, ((op num) *), 0) | x == '*' = calc (xs, res, ((op num) +), 0) main = do exp <- getLine let (s,a,b,c) = calc (exp, 0, id, 0) print $ a