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 ≤ 1015.- Cel puțin una dintre valorile
U,DșiPeste 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 < 231 - Pentru 25 de puncte,
231≤ U, D, P ≤ 1015
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.