Raccoon Contest 02 - Chợ hoa cuối năm
Xem dạng PDF
Nguồn ảnh: cellphones.com.vn
Những ngày giáp Tết, Hà Nội rực rỡ theo một cách rất riêng: sắc đào hồng, cúc vàng, ly trắng, rồi cả những cành mộc lan thanh nhã xuất hiện sớm ở chợ hoa. Chợ đông dần khi trời về khuya, tiểu thương tranh thủ tưới gốc - phun sương - tỉa lá - buộc cành để hoa giữ được độ tươi, nụ "đúng hẹn" lúc khách ghé mua.
Để giảm hao hụt và tiết kiệm công chăm, ban quản lý chợ muốn đồng bộ lịch chăm hoa giữa các sạp. Mỗi sạp chọn một chu kỳ chăm (tính theo phút), và cứ hết một chu kỳ thì sạp đó lại thực hiện một lượt chăm hoa.
Có ~N~ sạp hoa, đánh số từ ~1~ đến ~N~. Sạp thứ ~i~ chọn chu kỳ ~A_i~ (số nguyên dương).
Định nghĩa:
$$LCM(x_1, x_2, \dots, x_n)$$
Là bội chung nhỏ nhất của các số ~x_1, x_2, \dots, x_n~.
Thời điểm sớm nhất mà tất cả sạp cùng rơi vào một mốc chăm trùng nhau sẽ là:
$$LCM(A_1, A_2, \dots, A_N)$$
Ban quản lý đặt mục tiêu: thời điểm đồng bộ sớm nhất phải đúng bằng ~K~ phút.
Yêu cầu: đếm số lượng dãy ~A_1, A_2, \dots, A_N~ ~(A_i > 0)~ sao cho:
$$LCM(A_1, A_2, \dots, A_N) = K$$
Vì đáp án có thể rất lớn, hãy in ra theo modulo ~10^9 + 7~.
Input
- Dòng duy nhất chứa hai số nguyên dương ~N~ và ~K~ ~(1 \le N \le 10^9,\ 1 \le K \le 10^9)~.
Output
- Gồm một dòng duy nhất chứa một số nguyên là số lượng dãy thỏa mãn yêu cầu, lấy modulo ~10^9 + 7~.
Scoring
| Subtask | Score | Additional Constraints |
|---|---|---|
| ~1~ | ~25\%~ | ~N \le 8,\ K \le 8~ |
| ~2~ | ~25\%~ | ~N \le 1000,\ K \le 1000~ |
| ~3~ | ~25\%~ | ~N \le 2 \times 10^5,\ K \le 10^9~ |
| ~4~ | ~25\%~ | No additional constraints. |
Example input 1
2 4
Example output 1
5
Bình luận