Fie un număr natural X
format din maximum 20
cifre, toate nenule. Adrian doreşte să construiască pe rând, în 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 pe prima linie 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 şi precizări
- Pentru
20%
din testen ≤ 200
iarX
are cel mult9
cifre - Pentru celelalte teste
Exemplul 1
numere.in
2 8264
numere.out
2486
Explicație
Considerând ordinea crescătoare a valorii, primul număr care se poate forma este 2468
iar al doilea 2486
Exemplul 2
numere.in
3 523525
numere.out
225535
Explicație
Primele trei numere care se formează sunt: , , .