Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
P163PROF - ROUND 3F - Chia nhóm số học |
Haruka là con trai thứ 2 trong gia đình bình gồm 9 anh chị em, điều đặc biệt là cha cậu là một vị vua :v và cậu có một siêu năng lực về tính toán. Hôm nay vua cha của cậu đã hỏi cậu 1 bài toán như sau:
“Cho một số nguyên m và một số nguyên n. Số m được phân tích thành n số nguyên dương sao cho tích của n số nguyên đó đúng bằng m. Hỏi có tất cả bao nhiêu cách phân tích”.
Và để tăng độ khó của bài toán, vua cho đã cho m là một số rất lớn được tính bằng tích của n số nguyên.
Input
Dòng đầu gồm 1 số nguyên n(1 <= n <= 500).
Trên dòng thứ 2 gồm n số nguyên a[1], a[2], .., a[n] (1 <= a[i] <= 10^9).
Output
In trên một dòng số nguyên duy nhất là kết quả bài toán lấy phần dư cho 1000000007 (1e9+7).
Example
Test 1:
Input:
1
2
Output:
1
Test 2:
input:
2
5 10
Output:
6
Test 3:
Input:
3
1 1 2
Output:
3
Giải thích:
Test 1: Có 1 nhóm duy nhất là {1}.
Test 2: Có 6 nhóm là {5, 10}, {10, 5}, {2, 25}, {25, 2}, {1, 50}, {50, 1}.
Test 3: Có 3 nhóm là {2, 1, 1}, {1, 2, 1}, {1, 1, 2}.
Được gửi lên bởi: | adm |
Ngày: | 2016-03-01 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |