#2011. NUMERE

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Nguồn: Free Contest 03

Cho số tự nhiên X có tối đa 20 chữ số, tất cả các chữ số đều khác 0 . Adrian muốn xây dựng lần lượt dãy số theo thứ tự tăng dần của tất cả các số khác nhau có thể được hình thành bằng cách thay đổi vị trí của các chữ số của X . Bởi vì n là con số may mắn, cô muốn tìm số thứ n trong dãy số này.

Viết một chương trình mà xác định số thứ n (bắt đầu đánh số từ 1 ).

Dữ liệu vào:

  • Gồm một dòng ghi hai số nguyên n X .

Dữ liệu ra:

  • In ra số tự nhiên Y , là số thứ n trong danh sách tăng dần của các số có thể được tạo thành với tất cả các chữ số của X . Nếu không có, in ra -1 .

Ví dụ:

Dữ liệu vào:
2 8264
Dữ liệu ra:
2486
Dữ liệu vào:
3 523525
Dữ liệu ra:
225535
Giải thích:
  • Trong ví dụ thứ nhất: 2 số đầu tiên là 2468 2486 ;
  • Trong ví dụ thứ hai: 3 số đầu tiên là 223555, 225355, 225535

Giới hạn

  • Đối với 20\% tổng số test có n ≤ 200 X có ít hơn 9 chữ số;
  • Đối với các test còn lại 200 ≤ n ≤ 3×10^{11} .