#abc285h. [abc285_h]Avoid Square Number

[abc285_h]Avoid Square Number

题目描述

给定整数 NNKK,以及一个长度为 KK 的序列 EE
找到满足以下条件的长度为 NN 的正整数序列的数量(对 colorred109+7\\color{red}{10^9+7} 取模):

  • 没有元素是平方数;
  • 所有元素的乘积是 displaystyleprodi=1KpiEi\\displaystyle \\prod_{i=1}^{K} p_i^{E_i}

这里,

  • pip_i 表示第 ii 个最小的素数。
  • 如果两个长度相同的正整数序列 AABB 只有在存在一个整数 ii,使得 AABB 的第 ii 个元素不同的情况下才认为它们是不同的。

约束条件

  • 输入中的所有值都是整数。
  • 1N,K,Ei100001 \leq N,K,E_i \leq 10000

输入

从标准输入读入数据,输入格式如下:

NN KK E1E_1 E2E_2 \ldots EKE_K

输出

打印一个整数作为答案。

示例输入1

3 2
3 2

示例输出1

15

下面是满足条件的长度为 33 且总乘积为 72=23×3272=2^3 \times 3^2 的序列:

  • (1,1,72)(1,1,72) 及其排列方式(33 种)不符合条件,因为 11 是一个平方数。
  • (1,2,36)(1,2,36) 及其排列方式(66 种)不符合条件,因为 113636 都是平方数。
  • (1,3,24)(1,3,24) 及其排列方式(66 种)不符合条件,因为 11 是一个平方数。
  • (1,4,18)(1,4,18) 及其排列方式(66 种)不符合条件,因为 1144 都是平方数。
  • (1,6,12)(1,6,12) 及其排列方式(66 种)不符合条件,因为 11 是一个平方数。
  • (1,8,9)(1,8,9) 及其排列方式(66 种)不符合条件,因为 1199 都是平方数。
  • (2,2,18)(2,2,18) 及其排列方式(33 种)符合条件。
  • (2,3,12)(2,3,12) 及其排列方式(66 种)符合条件。
  • (2,4,9)(2,4,9) 及其排列方式(66 种)不符合条件,因为 4499 都是平方数。
  • (2,6,6)(2,6,6) 及其排列方式(33 种)符合条件。
  • (3,3,8)(3,3,8) 及其排列方式(33 种)符合条件。
  • (3,4,6)(3,4,6) 及其排列方式(66 种)不符合条件,因为 44 是一个平方数。

因此,满足条件的序列有 1515 个。

示例输入2

285 10
3141 5926 5358 9793 2384 6264 3383 279 5028 8419

示例输出2

672860525

请确保在计算答案时要对 colorred109+7\\color{red}{10^9+7} 取模。