fractie

Se considera primele N litere mari ale alfabetului englez (1<=N<=26) care reprezinta nume de variabile. Aceste litere se scriu succesiv īn ordine alfabetica, delimitate prin operatorul de īmpartire ':', formānd astfel o expresie algebrica. Prin eventuala adaugare la aceasta expresie a unor perechi de paranteze rotunde, se obtine o fractie etajata. Fractia poate fi scrisa, īn urma eliminarii etajelor, sub forma unei fractii simple (care are la numarator, respectiv numitor, cāte un produs de variabile).

Cerinta

Cunoscānd setul de caractere care formeaza produsul la numarator, se cere sa se indice o modalitate de a aseza parantezele.              

Date de intrare

Fisierul de intrare fractie.in contine doua linii. Pe prima linie se afla N (numarul de litere folosite), iar pe cea de a doua linie se afla un sir de litere mari distincte, ordonate alfabetic, fara spatii, reprezentānd variabilele de la numarator.

Date de iesire

Daca exista solutie, fisierul de iesire fractie.out va contine pe prima linie expresia cu paranteze, fara nici un spatiu. Daca nu exista solutie, īn fisierul de iesire se va scrie mesajul NU.

Restrictii

·        1 <= n <= 26

Observatii

1.      Expresia trebuie sa fie corect parantezata.
2.      Daca exista mai multe solutii, se va afisa una singura.

Exemplu
fractie.in fractie.out
5
ACE
A:(B:(C:D):E)

Timp maxim de executie/test: 0.1 secunde

prof. Serban Marinel
Liceul de Informatica "Gr. C. Moisil" Iasi
Contact: marinel@liis.ro