Fie un număr natural X format din maximum 20 cifre, toate nenule. Adrian doreşte să construiască pe rând, in ordine crescătoare a valorii lor, toate numerele distincte care se pot forma prin schimbarea poziţiei cifrelor numărului X . Pentru că n este numărul său norocos, el doreşte să afle al n -lea număr care se obţine în acest fel.
Cerinţă
Scrieţi un program care determină al n -lea număr, cu numerotare de la 1 , care se poate forma din cifrele lui X .
Date de intrare
Fişierul de intrare numere.in conţine pe prima linie cele două numere naturale n şi X separate printr-un singur spaţiu.
Date de ieşire
Fişierul de ieşire numere.out va conţine o singura linie pe care va fi scris numărul natural Y care reprezintă al n -lea număr care se poate forma cu toate cifrele numărului X . Dacă al n -lea număr generat în ordine crescătoare nu există, se va afişa -1 .
Restricţii
Pentru 20% din teste n ≤ 200 iar X are cel mult 9 cifre
Pentru celelalte teste 200 ≤ n ≤ 3*1011
Exemple
numere.in
numere.out
Explicaţii
2 8264
2486
Considerând ordinea crescătoare a valorii, primul număr care se poate forma este 2468 iar al doilea 2486