Considerăm un număr întreg și un șir de cifre zecimale nenule. Să se determine dacă numărul poate fi rezultatul unei expresii aritmetice simple (fără paranteze), formată exclusiv din cifrele șirului citit și din operatorii aritmetici desemnați pentru operațiile de adunare și scădere ().
Cerință
Scrieți un program care citește numerele și de pe prima linie a fișierului de intrare și șirul de cifre de pe linia următoare și determină și afișează expresia găsită sau valoarea 0 în cazul în care nu există soluție.
Date de intrare
Fișierul de intrare adunscad.in
conține pe prima linie numerele întregi , separate printr-un spațiu, reprezentând valoarea ce trebuie obținută la evaluarea expresiei și numărul de cifre din șir. Linia a doua a fișierului de intrare conține șirul celor cifre nenule, separate prin câte un spațiu.
Date de ieșire
În fișierul de ieșire adunscad.out
va conține pe prima linie expresia determinată, în cazul în care există soluție, sau valoarea în cazul în care nu există soluție.
Restricții și precizări
- ;
- ;
- În șirul citit cifrele se pot repeta.
- Toate cifrele din șir trebuie să apară și în expresia aritmetică, în aceeași ordine în care au fost citite.
- În expresia aritmetică, orice cifră trebuie să fie precedată de un operator; în cazul în care prima cifră este precedată de operatorul + acesta nu se pune în expresie. În expresia aritmetică nu există spații.
- În cazul în care soluția nu este unică se va afișa o soluție corectă.
Exemplul 1
adunscad.in
21 4
3 9 1 8
adunscad.out
3+9+1+8
Exemplul 2
adunscad.in
-1 4
1 2 3 5
adunscad.out
-1+2+3-5
Exemplul 3
adunscad.in
-7 7
1 1 1 1 1 1 1
adunscad.out
-1-1-1-1-1-1-1
Exemplul 4
adunscad.in
12 3
1 2 3
adunscad.out
0