小学生のイクタ君は、ある日おじいさんから数式が書かれた紙をもらった。 どうやらおじいさんは数式の答えの金額だけお小遣いをくれるらしい。 イクタ君はまだ足し算、引き算、掛け算しか習ってなかったので、数式にも足し算と引き算と掛け算しか使われていない。 通常の計算では足し算と引き算より掛け算を先に計算しなければならないのだが、イクタ君は演算子の優先順位についての理解があやふやだったので、とりあえず数式の計算結果が最大になるような都合の良い優先順位を考えることにした。
+−×の3つの二項演算子と括弧を含む数式が与えられる。 3つの演算子の優先順位を任意に変更して、数式を最大化したときの計算結果を答えよ。
ただし、以下の点に注意せよ。
入力は以下の形式で与えられる。
0〜9の数字と演算子'+','-','*'、括弧'(',')'で構成された数式
<expr> ::= ( <expr> ) | <number> | <expr> <op> <expr>
<op> ::= + | - | *
<number>は非負整数を表す。
入力は以下の制約を満たす。
数式から得られる最大値を1行で出力せよ。
3-2*3
3
(5-3*4)*(0-2+1)
21
1-2+3-4+5-6*0
3
(1989967-3*1-211+4487)
8511076028