Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Trong vũ trụ của những con số, bạn được giao cho một nhiệm vụ bí ẩn: hãy khám phá "ước mơ" của ~N!~. Cụ thể, bạn cần tính số lượng ước của ~N!~ mà lại chia hết cho ~M~. Những ước số này ẩn chứa những bí mật toán học, và nhiệm vụ của bạn là hé lộ chúng dưới dạng một con số duy nhất.
Kết quả có thể cực kỳ lớn, vì thế hãy lấy theo modulo ~10^9 + 7~ để đảm bảo tính chính xác. Hãy dấn thân vào hành trình đầy thử thách này và chứng minh khả năng "thấu thị" trong thế giới của các con số!
Input
- Một dòng duy nhất gồm hai số nguyên dương ~N~ và ~M~ (với ~N ≤ 2 \times 10^6~ và ~M ≤ 10^{12}~).
Output
- Một số nguyên không âm duy nhất là số lượng ước của ~N!~ chia hết cho ~M~, được lấy theo modulo ~10^9 + 7~.
Sample Input
4 2
Sample Output
6
Notes
~4! = 4 \times 3 \times 2 \times 1 = 24~
Số ước của ~4!/2~ là: ~1, 2, 3, 4, 6, 12~
Bình luận