#abc285h. [abc285_h]Avoid Square Number
[abc285_h]Avoid Square Number
問題文
整数 と長さ の数列 が与えられます。
長さ の正整数列であって、以下の条件を全て満たすものの総数を で割った余りを求めてください。
- どの要素も平方数でない
- 全要素の積が である
但し、
- は小さい方から 番目の素数を指すものとします。
- ある つの長さが等しい正整数列 について、 の 項目と の 項目が異なるような整数 が存在する時に限り、 と は異なる列であるとします。
制約
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを整数として出力せよ。
入力例 1
3 2
3 2
出力例 1
15
全要素の積が となる長さ の数列は以下です。
- とその並べ替え ( 通り ) ... が平方数なので、条件を満たしません。
- とその並べ替え ( 通り ) ... が平方数なので、条件を満たしません。
- とその並べ替え ( 通り ) ... が平方数なので、条件を満たしません。
- とその並べ替え ( 通り ) ... が平方数なので、条件を満たしません。
- とその並べ替え ( 通り ) ... が平方数なので、条件を満たしません。
- とその並べ替え ( 通り ) ... が平方数なので、条件を満たしません。
- とその並べ替え ( 通り ) ... 条件を満たします。
- とその並べ替え ( 通り ) ... 条件を満たします。
- とその並べ替え ( 通り ) ... が平方数なので、条件を満たしません。
- とその並べ替え ( 通り ) ... 条件を満たします。
- とその並べ替え ( 通り ) ... 条件を満たします。
- とその並べ替え ( 通り ) ... が平方数なので、条件を満たしません。
よって、条件を満たす数列は 個です。
入力例 2
285 10
3141 5926 5358 9793 2384 6264 3383 279 5028 8419
出力例 2
672860525
で割った余りを求めることに注意してください。