Hedvig har fått i läxa att evaluera ett långt räkneuttryck. Det består av icke-negativa heltal åtskilda med operatorerna +, - och * (plus, minus och gånger). Hon behöver dock inte använda sig av de gängse prioritetsreglerna, utan hon kan fritt välja två närliggande tal med en operator emellan, evaluera detta uttryck och ersätta uttrycket med resultatet av operationen. Proceduren upprepas tills endast ett tal återstår: resultatet av evalueringen av hela uttrycket.
Skriv ett program som beräknar det största möjliga resultatet Hedvig kan få.
På första raden står en sträng med max 100 tecken: uttrycket
som ska evalueras. Det följer mönstret
[tal] [operator] [tal] [operator]....[operator] [tal]
utan några blanksteg. Varje operator är antingen +, - eller *,
och varje ingående tal $k_
i$ uppfyller $0\leq k_ i
< 1000000$. Inget tal skrivs med överflödiga
inledande nollor.
Ett heltal: det största värdet som kan erhållas genom att evaluera uttrycket i valfri ordning. Detta tal, liksom alla möjliga delresultat som kan uppkomma, är alltid större än $-10^{18}$ och mindre än $10^{18}$.
Din lösning kommer att testas på flera testfallsgrupper. För att få poäng för en grupp så måste du klara alla testfall i gruppen.
Grupp |
Poängvärde |
Gränser |
1 |
11 |
Endast operatorerna + och * förekommer. Antalet tal är högst 10 och de uppfyller $1\leq k_ i \leq 9$. |
2 |
11 |
Alla operatorer förekommer. Antalet tal är högst 10. |
3 |
37 |
Endast operatorerna + och * förekommer. |
4 |
41 |
Alla operatorer förekommer. |
Sample Input 1 | Sample Output 1 |
---|---|
2*3+4*5 |
70 |
Sample Input 2 | Sample Output 2 |
---|---|
8-2*2*1+2*1-4 |
44 |