#agc052c. [agc052_c]Nondivisible Prefix Sums
[agc052_c]Nondivisible Prefix Sums
問題文
素数 が与えられます。これはあなたの嫌いな数です。
整数の列 について、どの接頭辞の和も で割り切れないように要素を並べ替えることができるとき、この列を 良い 列と呼びます(すなわち、並べ替えのあと、 かつ であるような が 存在してはいけません)。
各要素が 以上 以下であるような長さ の整数列は全部で 通りありますが、このうち 良い 列はいくつでしょうか。
答えは非常に大きい可能性があるため、これを で割った余りを出力してください。
制約
- は素数である。
入力
入力は以下の形式で標準入力から与えられる。
出力
良い 列の個数を で割った余りを出力せよ。
入力例 1
2 5
出力例 1
12
良い列は \[1, 1\], \[1, 2\], \[1, 3\], \[2, 1\], \[2, 2\], \[2, 4\], \[3, 1\], \[3, 3\], \[3, 4\], \[4, 2\], \[4, 3\], \[4, 4\] の 通りです。
入力例 2
4 3
出力例 2
8
良い列は \[1, 1, 1, 2\], \[1, 1, 2, 1\], \[1, 2, 1, 1\], \[2, 1, 1, 1\], ], \[2, 2, 1, 2\], \[2, 1, 2, 2\], \[1, 2, 2, 2\] の 通りです。
入力例 3
5000 99999989
出力例 3
51699346
入力例 4
2021 307
出力例 4
644635349