Chris a scris pe un caiet foarte multe numere de două sau trei cifre, toate divizibile cu 7
. Interesant este că aceste numere conțineau doar cifrele 1
, 2
sau 4
. Mădălina a făcut curățenie în casă și a aruncat caietul. Acum Chris este foarte supărat că și-a pierdut numerele. Ca să îl înveselească, Mădălina i-a spus lui Chris: “Numerele tale conțineau exact U
cifre de 1
, D
cifre de 2
și P
cifre de 4
”. Bucuros, Chris a venit la concurenții de la ONIGim și i-a rugat să îi regăsească numerele. Experți în programare, concurenții s-au apucat de treabă, dar imediat și-au dat seama că este posibil să existe mai multe moduri de a reconstitui numerele. Din fericire Chris se mulțumește cu oricare reconstituire și a promis 100
de puncte pentru fiecare concurent care îi va oferi o soluție validă.
Cerința
Cunoscând cele trei numere U
, D
și P
cu semnificația din enunț, să se determine numere de două sau trei cifre, divizibile cu 7
astfel încât în numerele determinate să se regăsească exact U
cifre de 1
, D
cifre de 2
și P
cifre de 4
.
Date de intrare
Fișierul de intrare udp.in
conține trei numere naturale U
, D
și P
, separate prin câte un spațiu, având semnificația că pe caietul lui Chris erau scrise exact U
cifre de 1, D
cifre de 2 și P
cifre de 4.
Date de ieșire
Fișierul de ieșire udp.out
va conține o soluție validă afișată după cum urmează: pe prima linie un număr K
, reprezentând numărul de valori distincte divizibile cu 7
, formate din două sau trei cifre care nu pot fi decât 1
, 2
sau 4
. Pe următoarele K
linii vor fi afișate numerele din soluția validă. Astfel pe linia i+1
(1 ≤ i ≤ K
) se vor afișa câte două numere separate prin spațiu val[i]
și cnt[i]
cu semnificația că val[i]
este un număr de două sau de trei cifre, divizibil cu 7
, conținând doar cifre 1
, 2
sau 4
și acest număr apare în soluție de cnt[i]
ori. Dacă nu există soluții valide, afișați o singură linie cu numărul -1
.
Restricții și precizări
0 ≤ U, D, P ≤ 10
15
.- Cel puțin una dintre valorile
U
,D
șiP
este nenulă. - Pentru 25 de puncte,
0 ≤ U, D, P ≤ 20
- Pentru 25 de puncte,
20 < U, D, P ≤ 10000
- Pentru 25 de puncte,
10000 < U, D, P < 2
31
- Pentru 25 de puncte,
2
31
≤ U, D, P ≤ 10
15
Exemplul 1:
udp.in
0 13 11
udp.out
2 42 9 224 2
Explicație
Soluția conține două numere divizibile cu 7
, mai precis 42
și 224
. Acestea au cel mult trei cifre și sunt divizibile cu 7
. Considerând 9
numere cu valoarea 42
și două cu valoarea 224
aceste numere vor conține 0
cifre de 1
, 13
cifre de 2
și 11
cifre de 4
.
Exemplul 2:
udp.in
71234 41125 62112
udp.out
4 14 46110 21 25122 42 16002 112 1
Explicație
O soluție posibilă ar putea fi: 46110
numere de 14
, 25122
numere de 21
, 16002
numere de 42
și un număr 112
. În total toate aceste numere vor conține 71234
de 1
, 41125
de 2
și 62112
de 4
.