Personajul nostru principal, Auraș, a primit o temă interesantă la informatică: el a primit funcții , unde fiecare funcție conține primele variabile din mulțimea , în ordine (care pot avea coeficienți întregi lipiți înaintea lor), alături de constante întregi, operatorii de adunare, scădere, înmulțire și paranteze rotunde. După aceste funcții primite, el are de evaluat o expresie formată din aceste funcții, alături de constante întregi, operatorii de adunare, scădere, înmulțire și paranteze rotunde. Din păcate Auraș nu se pricepe la acest tip de probleme și vă cere ajutorul ca să o rezolve, în schimbul a de puncte.
Cerință
Rezolvați-i tema lui Auraș pentru a primi cele de puncte.
Date de intrare
Pe prima linie a fișierului de intrare se va afla numărul , urmând ca pe urmatoarele linii să se afle funcțiile .
Pe ultima linie a fișierului de intrare se va afla expresia de evaluat.
Date de ieșire
Fișierul de ieșire va conține rezultatul expresiei de evaluat .
Restricții și precizări
- = lungimea funcțiilor
- = lungimea expresiei de evaluat
- Coeficienții și constantele, precum și argumentele funcțiilor regăsite în datele de intrare aparțin intervalului și sunt numere întregi
- Funcțiile se dau în ordinea , , ...,
- Operatorii de adunare, scădere și înmulțire sunt, în ordine, următorii: , ,
- Se garantează că expresia de evaluat este corectă
Punctare
# | Punctaj | Restricții |
---|---|---|
1 | 15 | , și |
2 | 85 | Fără restricții suplimenare. |
Exemplu
functii.in
2
f1(a,b)=2a+5b+1
f2(a,b,c)=5b-c*1
(1*f1(3,4)-f2(1,1,1))*f2(0,0,7)+7
functii.out
619
Explicație
Expresia de evaluat va fi , iar .