[ABC285Ex] Avoid Square Number

题意翻译

给定 $n, k$ 和长为 $k$ 的正整数列 $E$,求长为 $n$ 的满足以下两条件的正整数列数目: - 数列中没有完全平方数; - 记 $p_i$ 表示从小到大第 $i$ 个质数,则数列中所有数之积为 $\prod\limits^k_{i=1}p_i^{E_i}$。 答案对 $10^9 + 7$ 取模。

题目描述

[problemUrl]: https://atcoder.jp/contests/abc285/tasks/abc285_h 整数 $ N,K $ と長さ $ K $ の数列 $ E $ が与えられます。 長さ $ N $ の正整数列であって、以下の条件を全て満たすものの総数を $ \color{red}{10^9+7} $ で割った余りを求めてください。 - どの要素も平方数でない - 全要素の積が $ \displaystyle\ \prod_{i=1}^{K}\ p_i^{E_i} $ である 但し、 - $ p_i $ は小さい方から $ i $ 番目の素数を指すものとします。 - ある $ 2 $ つの長さが等しい正整数列 $ A,B $ について、 $ A $ の $ i $ 項目と $ B $ の $ i $ 項目が異なるような整数 $ i $ が存在する時に限り、 $ A $ と $ B $ は異なる列であるとします。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ K $ $ E_1 $ $ E_2 $ $ \dots $ $ E_K $

输出格式


答えを整数として出力せよ。

输入输出样例

输入样例 #1

3 2
3 2

输出样例 #1

15

输入样例 #2

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

输出样例 #2

672860525

说明

### 制約 - 入力は全て整数 - $ 1\ \le\ N,K,E_i\ \le\ 10000 $ ### Sample Explanation 1 全要素の積が $ 72=2^3\ \times\ 3^2 $ となる長さ $ 3 $ の数列は以下です。 - $ (1,1,72) $ とその並べ替え ( $ 3 $ 通り ) ... $ 1 $ が平方数なので、条件を満たしません。 - $ (1,2,36) $ とその並べ替え ( $ 6 $ 通り ) ... $ 1,36 $ が平方数なので、条件を満たしません。 - $ (1,3,24) $ とその並べ替え ( $ 6 $ 通り ) ... $ 1 $ が平方数なので、条件を満たしません。 - $ (1,4,18) $ とその並べ替え ( $ 6 $ 通り ) ... $ 1,4 $ が平方数なので、条件を満たしません。 - $ (1,6,12) $ とその並べ替え ( $ 6 $ 通り ) ... $ 1 $ が平方数なので、条件を満たしません。 - $ (1,8,9) $ とその並べ替え ( $ 6 $ 通り ) ... $ 1,9 $ が平方数なので、条件を満たしません。 - $ (2,2,18) $ とその並べ替え ( $ 3 $ 通り ) ... 条件を満たします。 - $ (2,3,12) $ とその並べ替え ( $ 6 $ 通り ) ... 条件を満たします。 - $ (2,4,9) $ とその並べ替え ( $ 6 $ 通り ) ... $ 4,9 $ が平方数なので、条件を満たしません。 - $ (2,6,6) $ とその並べ替え ( $ 3 $ 通り ) ... 条件を満たします。 - $ (3,3,8) $ とその並べ替え ( $ 3 $ 通り ) ... 条件を満たします。 - $ (3,4,6) $ とその並べ替え ( $ 6 $ 通り ) ... $ 4 $ が平方数なので、条件を満たしません。 よって、条件を満たす数列は $ 15 $ 個です。 ### Sample Explanation 2 $ \color{red}{10^9+7} $ で割った余りを求めることに注意してください。