No.644 G L C C D M
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 53
作問者 :
Pulmn
/ テスター :
square1001
タグ : / 解いたユーザー数 53
作問者 :


問題文最終更新日: 2022-04-25 02:19:48
問題文
以下の条件を満たす の順列 の通り数を求めてください。ただし、この値は非常に大きくなる場合があるので で割った時の余りを出力してください。
条件: に対して次の操作を 回行ったとき、 が成り立つ。
操作後の数列を とします。
操作:数列 の長さは であり、を満たす全ての において、
が成り立つ。
なお、 は と の最大公約数、 は と の最小公倍数を表す。
入力
出力
条件を満たす順列 の通り数を で割った時の余りを出力してください。最後に改行してください。
サンプル
サンプル1
入力
3 1
出力
6
の順列すべてが条件を満たします。例えばの場合、
回目の操作後:
回目の操作後:
サンプル2
入力
2 1
出力
2
サンプル3
入力
3 100
出力
0
の順列 に対し 回操作を行ったとき、常に が成り立つので、条件を満たす順列は通りです。
サンプル4
入力
100 30
出力
945719957
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。