O expresie corect parantezată (prescurtat ecp) este un sir format din caracterele (,),[,],{,} si care se formează după următoarele reguli:
(), [],{} sunt ecp
dacă A este ecp, atunci (A), [A] si {A} sunt ecp
dacă A si B sunt ecp, atunci AB este ecp
Exemple de ecp: ({}{}[(())]), ((([]))), {({()}[])}. Exemple de siruri care nu sunt ecp: ([]], {(}). Costul unei ecp se calculează astfel:
() este o ecp de cost 2
[] este o ecp de cost 3
{} este o ecp de cost 5
dacă A este ecp de cost k, atunci (A) are costul 22*k, [A] are costul 33*k, iar {A} are costul 55*k
dacă A si B sunt ecp de costuri k si p, atunci expresia AB este o ecp de cost k*p.
De exemplu, costul expresiei ()[(()){}()] este 2*33*(22*(2)*5*2)=25*33*51=4320.
Cerinţă
Dându-se o ecp, să se determine costul acesteia.
Date de intrare
Fişierul de intrare ecp.in conţine pe prima linie expresia corect parantezată. Această expresie nu conţine niciun caracter spaţiu.
Date de ieşire
Fişierul de ieşire ecp.out va conţine costul x al ecp. Deoarece x poate fi un număr foarte mare, se vor afisa numai exponenţii factorilor 2, 3 si 5 din descompunerea în factori primi a lui x. Acesti exponenţi se vor afisa pe o singură linie, separaţi prin câte un spaţiu.
Restricţii
Expresia din fisierul de intrare este o ecp. Lungimea ei este de cel mult 1000.