Cu mult timp în urmă, într-un tărâm foarte, foarte îndepărtat, a existat o țară numită Tnamap. Locuitorii acestei țări puteau să aplice instantaneu transformări asupra cifrelor unui număr, utilizând un tablou de corespondențe . O cifră a unui număr poate fi înlocuită cu cifra corespunzătoare ei, .
Dalv şi Sogard, doi indivizi speciali ai acestei societăți ciudate se aflau în drum spre INO când au conștientizat că pot transforma instantaneu, folosind număr minim de transformări de cifre, orice număr într-un palindrom divizibil cu un număr natural . Dacă sunt mai multe astfel de numere, îl determină pe cel mai mare.
Voi puteţi?
Cerință
Cunoscând valorile , , ..., , numărul ce urmează a fi transformat și numărul (divizorul palindromului), determinați:
- Numărul maxim care se poate obține aplicând transformări succesive numărului dat.
- Cel mai mare dintre palindromurile divizibile cu , ce se pot obține din numărul , efectuând un număr minim de transformări asupra cifrelor numărului dat, respectiv asupra cifrelor numerelor obținute pe parcurs.
Date de intrare
Pe prima linie a fișierului de intrare palindrom.in
sunt memorate 10 cifre distincte, separate prin câte un spațiu, reprezentând valorile , , ..., .
Pe a doua linie sunt memorate cifrele numărului .
Pe a treia linie este memorat numărul natural .
Date de ieșire
Fișierul de ieșire palindrom.out
va conține pe prima linie numărul maxim care se poate obține aplicând transformări succesive numărului , iar pe a doua linie palindromul divizibil cu , de valoare maximă, ce se poate obține din numărul , efectuând un număr minim de transformări asupra cifrelor.
Restricții și precizări
- are un număr par de cifre.
- Se garantează faptul că toate testele au soluție.
- Pentru rezolvarea primei cerințe se va acorda din punctaj, iar pentru rezolvarea celei de-a doua cerințe se va acorda din punctaj.
Exemplu
palindrom.in
0 4 6 5 1 2 7 8 9 3
1234
3
palindrom.out
4994
4224
Numărul trece prin următoarele stări înainte de a deveni palindrom cu valoarea maximă, divizibil cu :