#P10618. 数数

数数

a (2s 512MB)


定义 W(n,k)W(n,k) 表示将 nn 分解成 kk不同正整数的乘积的方案数。

现在给定 nnkk,求出 W(n,k)W(n,k)

输入格式

第一行输入一个正整数 mm,第二行输入 mm 个整数 aia_i,第三行输入一个正整数 kk

输出格式

n=i=1mpiain=\prod_{i=1}^{m}{p_i^{a_i}},(pip_i 是第 ii 个质数,p1=2,p2=3,p3=5,...p_1=2,p_2=3,p_3=5,...)。

输出一个整数 W(n,k)W(n,k),对 109+710^9+7 取模后的结果。

样例1

2
4 2
4
7

这个样例中,n=24×32=144n=2^4\times3^2=144,有如下 77 种方案:

  • 144=1×2×4×18144=1×2×4×18
  • 144=1×2×8×9144=1×2×8×9
  • 144=1×2×3×24144=1×2×3×24
  • 144=1×2×6×12144=1×2×6×12
  • 144=1×3×4×12144=1×3×4×12
  • 144=1×3×6×8144=1×3×6×8
  • 144=2×3×4×6144=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!n=100!

数据规模

对于所有数据,1m103,0ai104,1k301\le m\le 10^3,0\le a_i\le 10^4,1\le k\le30

Subtask1 10pts: m5,ai5,k5m\le 5,a_i\le 5,k\le 5

Subtask2 10pts: k=2k=2

Subtask3 10pts: k=3k=3

Subtask4 20pts: k5k\le 5

Subtask5 20pts: k10k\le 10

Subtask6 5pts: ai1a_i\le 1

Subtask7 10pts: ai2a_i\le 2

Subtask8 10pts: ai5a_i\le 5

Subtask9 5pts: 无特殊限制