a (2s 512MB)
定义 W(n,k) 表示将 n 分解成 k 个不同正整数的乘积的方案数。
现在给定 n 和 k,求出 W(n,k)。
输入格式
第一行输入一个正整数 m,第二行输入 m 个整数 ai,第三行输入一个正整数 k。
输出格式
令 n=∏i=1mpiai,(pi 是第 i 个质数,p1=2,p2=3,p3=5,...)。
输出一个整数 W(n,k),对 109+7 取模后的结果。
样例1
2
4 2
4
7
这个样例中,n=24×32=144,有如下 7 种方案:
- 144=1×2×4×18
- 144=1×2×8×9
- 144=1×2×3×24
- 144=1×2×6×12
- 144=1×3×4×12
- 144=1×3×6×8
- 144=2×3×4×6
样例2
25
97 48 24 16 9 7 5 5 4 3 3 2 2 2 2 1 1 1 1 1 1 1 1 1 1
10
287549200
这个样例中,n=100!
数据规模
对于所有数据,1≤m≤103,0≤ai≤104,1≤k≤30。
Subtask1 10pts: m≤5,ai≤5,k≤5
Subtask2 10pts: k=2
Subtask3 10pts: k=3
Subtask4 20pts: k≤5
Subtask5 20pts: k≤10
Subtask6 5pts: ai≤1
Subtask7 10pts: ai≤2
Subtask8 10pts: ai≤5
Subtask9 5pts: 无特殊限制