Xâu thứ k

CaiWinDao

Hiếu vừa khám phá ra một khái niệm mới và khoe ngay với Quý: định nghĩa về xâu đẹp. Theo đó, một xâu \(s\) được gọi là đẹp nếu \(s\) có không quá \(n\) ký tự và \(f(s)\) chia hết cho \(m\), trong đó \(f(s)\) bằng tổng tất cả các \(g(c)\) với \(c\) là một ký tự trong \(s\), quy ước \(g('a')=1\), \(g('b')=2\), \(g('c')=3,\cdots, g('z')=26\). Ví dụ, với \(n=3\)\(m=9\) thì aap là một xâu đẹp vì \(f("aap")=1+1+16=18\) chia hết cho \(m=9\), còn aah không phải là một xâu đẹp vì \(f("aah")=1+1+8=10\) không chia hết cho \(m=9\). Với xâu rỗng \(s= \emptyset\) thì \(f(s)=0\) (do đó \(s=\emptyset\) cũng là một xâu đẹp với mọi \(m\)).

Quý hiểu ngay khái niệm mới của Hiếu và liền đố ngược lại cậu: hãy tìm ra xâu đẹp có thứ tự từ điển nhỏ thứ \(k\) với \(n\)\(m\) cho trước. Nhắc lại, xâu \(A\) được xem là có thứ tự từ điển nhỏ hơn xâu \(B\) nếu tồn tại một vị trí \(t\) sao cho \(A[1...t−1]=B[1...t−1]\)\(A[t]<B[t]\).

Vì số \(k\) của Quý đưa ra quá lớn nên Hiếu chỉ biết ấp úng và nhờ đến các bạn lập trình giải giúp câu đố này cho Hiếu. Hãy giúp Hiếu tìm ra xâu đẹp đó nhé!

Input

  • Gồm một dòng duy nhất chứa ba số nguyên dương \(n\), \(m\)\(k (2 \leq k \leq 10^{15})\).

Output

  • In ra xâu đẹp nhỏ thứ \(k\) theo thứ tự từ điển. Nếu số lượng xâu đẹp nhỏ hơn \(k\), in ra \(−1\).

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(n \leq 4\).
  • Subtask \(2\) (\(20\%\) số điểm): \(n \leq 100,m=1\).
  • Subtask \(3\) (\(60\%\) số điểm): \(n,m \leq 100\).

Example

Test 1

Input
3 9 8
Output
ace
Note

Các xâu đẹp đầu tiên thứ tự từ điển là \(\emptyset\) (xâu rỗng), \(aag, aap, aay, abf, abo, abx\)\(ace\).

...Xem thêm

An interesting counting problem related to square product K

SPyofgame , SPectiar2k

Given \(n, k (1 \leq k \leq n \leq 10^6)\), count the number of arrays \(a[]\) of size \(k\) satisfies:

  • \(1 \leq a_1 < a_2 < \dots < a_k \leq n\).
  • \(a_i \times a_j\) is a perfect square \(\forall 1 \leq i < j \leq k\).

Since the result can be large, output it under modulo \(10^9 + 7\).

Example

Test 1

Input
2 1
Output
2
Note

There are \(2\) satisfied array of size \(1\): {\(1\)}, {\(2\)}.

Test 2

Input
10 2
Output
4
Note

There are \(4\) satisfied array of size \(2\): {\(1, 4\)}, {\(1, 9\)}, {\(2, 8\)}, {\(4, 9\)}.

Test 3

Input
27 3
Output
12
Note

There are \(12\) satisfied array of size \(3\): {\(1, 4, 9\)}, {\(1, 4, 16\)}, {\(1, 4, 25\)}, {\(1, 9, 16\)}, {\(1, 9, 25\)}, {\(1, 16, 25\)}, {\(2, 8, 18\)}, {\(3, 12, 27\)}, {\(4, 9, 16\)}, {\(4, 9, 25\)}, {\(4, 16, 25\)}, {\(9, 16, 25\)}.

...Xem thêm

Số nguyên tố đối xứng

letangphuquy

Một số nguyên tố \(p\) được gọi là số nguyên tố đối xứng nếu mang biểu diễn thập phân của nó viết theo thứ tự ngược lại, ta vẫn được một số nguyên tố. Ví dụ: \(79, 97, 991, 1999859\) là những số nguyên tố đối xứng.

Yêu cầu: Liệt kê các số nguyên tố đối xứng trong phạm vi từ \(1\) tới \(n\) theo thứ tự tăng dần

Input

  • Gồm một số nguyên dương \(n\le2000000\).

Output

  • Ghi các số nguyên tố tìm được theo thứ tự tăng dần cách nhau bởi dấu cách.

Example

Test 1

Input
100
Output
2 3 5 7 11 13 17 31 37 71 73 79 97
...Xem thêm