Considerăm un număr întreg N
şi un şir de M
cifre zecimale nenule. Să se determine dacă numărul N
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 N
şi M
de pe prima linie a fişierului de intrare şi şirul de M
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 N M
, 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 M
cifre nenule, separate prin câte un spaţiu.
Date de ieșire
Fișierul de ieșire adunscad.out
va conține pe prima linie expresia determinată, în cazul în care există soluţie, sau valoarea 0
în cazul în care nu există soluţie.
Restricții și precizări
-180 ≤ N ≤ 180
2 ≤ M ≤ 20
- î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
- expresia aritmetică se termină cu caracterul sfârşit de linie
- în cazul în care soluţia nu este unică se va afişa o soluţie corectă
Exemplu 1
adunscad.in
21 4 3 9 1 8
adunscad.out
3+9+1+8
Exemplu 2
adunscad.in
-1 4 1 2 3 5
adunscad.out
-1+2+3-5
Exemplu 3
adunscad.in
-7 7 1 1 1 1 1 1 1
adunscad.out
-1-1-1-1-1-1-1
Exemplu 4
adunscad.in
12 3 1 2 3
adunscad.out
0