#icpc2015summerday2e. [icpc2015summer_day2_e]坑道数式

[icpc2015summer_day2_e]坑道数式

题目描述

你在探索一个废弃的矿井时,发现了一条长长的数学式SS写在坑道上。作为一个喜欢大数的人,你拿出粉笔,决定在数学式中加入尽可能多的括号(),使得计算结果最大化。如果添加括号后仍然要保持为数学式,则你能够得到的最大值是多少。

字符和字符之间有足够的空间,你可以添加任意数量的括号()。最终生成的字符串可以是一个数学式,即使括号不匹配。(参见示例2)。此外,在这里我们称符合以下BNF定义的为数学式。数学式中的数字都是一位数。


<expr>  ::= "(" <expr> ")"
         | <term> "+" <term>
         | <term> "-" <term>
<term>  ::= <digit> | <expr>
<digit> ::= "0" | "1" | "2" | "3" | "4"
          | "5" | "6" | "7" | "8" | "9"

约束条件

  • 3S2003 \leq |S| \leq 200

SS 表示一个数学表达式。


输入格式

输入以以下格式从标准输入中给出:SS

输出格式

输出一个整数,表示答案。


示例输入 1


1-(2+3-4+5)

示例输出 1


5

1-(2+3-(4+5)) 是可以得到的最大值。


示例输入 2


1-(2+3+4)

示例输出 2


0

(1-(2+3)+4) 是可以得到的最大值。

示例输入 3


1-(2+3)

示例输出 3


-4

1-(2)+(3) 不是一个数学表达式,请注意。