Într-o zi, la ora de Matematică, doamna profesoară le-a dat elevilor o provocare interesantă.
Gigel, elev silitor și curios, a primit o multitudine de expresii matematice scrise pe tablă. Expresiile conțin doar numere naturale, paranteze rotunde și operatorii , , .
Profesoara i-a spus lui Gigel:
Dacă reușești să calculezi corect valorile expresiilor, vei primi un bonus la testul de mâine!
Gigel vrea foarte mult acel bonus, dar expresiile sunt cam lungi și pline de paranteze. Așa că te roagă pe tine să îl ajuți să le evalueze corect.
Cerință
Scrie un program care îl ajută pe Gigel să calculeze valoarile expresilor matematice primite la ora de Matematică.
Programul va citi un numar , urmat apoi de expresii matematice.
Expresia este formată din:
- numere intregi
- paranteze rotunde: ;
- operatorii: , , .
Date de intrare
Pe prima linie a fișierului de intrare oradematematica.in se găseste un numar întreg, iar pe urmatoarele linii se gasesc expresiile matematice.
Date de ieșire
In fisierul de iesire oradematematica.out se vor găsi rezultatele la cele expresii matematice.
Restricții și precizări
- ;
- Toate calculele intermediare și rezultatele finale se încadrează în tipul long long.
- Lungimea unei expresii nu depășește de caractere.
- Expresia este corectă (nu conține alte caractere în afară de cifre, , , , , ).
- Se respectă regulile standard ale priorității operatorilor și ale parantezelor.
| # | Punctaj | Restricții |
|---|---|---|
| 1 | 50 | Nu exista paranteze rotunde |
| 2 | 50 | Fara restrictii suplimentare |
Exemplul 1
oradematematica.in
3
20+10*31
477*122-301+40*13
16+42*11*43
oradematematica.out
330
58413
19882
Exemplul 2
oradematematica.in
1
2340-(10+21)*12
oradematematica.out
1968