Cho dãy số nguyên dương: \(a_1, a_2,…, a_M.\) Đặt \(N = a_1*a_2*…*a_M.\) Hãy tính số lượng ước của \(N\).
Ví dụ: \(N = 2 * 3 = 6\). Số lượng ước của N là \(4\) tức là \(6\) có \(4\) ước: \(1, 2, 3, 6.\)
Dữ liệu vào:
- Dòng đầu là số \(M;\)
- Dòng thứ hai là dãy số nguyên dương \(M\) phần tử: \(a_1, a_2,…, a_M.\)
Các số trên một dòng của tệp dữ liệu vào được ghi cách nhau bởi dấu cách.
Kết quả:
- Một số nguyên duy nhất là kết quả tính được. Kết quả của bài toán chỉ cần in ra phần dư khi chia cho \(10^9+7\).
Ví dụ:
Input
2
2 3
Output
4
Ràng buộc: Các số còn lại trong tệp dữ liệu vào có giá trị tuyệt đối không quá \(10^6\).
- Có 60% số test ứng với 60% số điểm của bài có \(N ≤ 10^6;\)
- Có 20% số test ứng với 20% số điểm của bài có \(M ≤ 1000;\)
- Có 20% số test khác ứng với 20% số điểm còn lại của bài.