Bipalindrome

Xem dạng PDF

Gửi bài giải


Điểm: 0,40 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
COI 08
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Pero và Slavko là ~2~ sinh viên thích toán. Họ đã biết về khái niệm palindrome: xâu giống nhau nếu đọc từ trái sang phải và ngược lại, (ví dụ, "~ANA~", "~1991~" và "~RADAR~"). Sau đó, Pero đưa ra một khái niệm mới: bipalindrome (viết tắt là bipalin).

Một bipalin là một số tạo thành từ việc ghép ~2~ số palindrome có cùng độ dài, chỉ gồm các chữ số và số palindrome đầu tiên không bắt đầu bằng số ~0~. Ví dụ ~393020~ là một bipalin (tạo bởi ~393~ và ~020~), trong khi đó ~222~ và ~010202~ không phải là bipalin.

Bây giờ Slavko muốn biết có bao nhiêu bipalin độ dài ~N~ mà chia hết cho ~M~,

Input

Gồm hai số nguyên ~N~ và ~M~ ~\left(2 \leq N \leq 20;\text{ } 1 \leq M \leq 10^6\right)~, ~N~ là số chẵn.

Output

Số lượng số bipalin khác nhau độ dài ~N~ mà chia hết cho ~M~.

Sample Input 1

6 123

Sample Output 1

71

Sample Input 2

2 10

Sample Output 2

9

Sample Input 3

6 12345

Sample Output 3

1

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.