No.2380 Sylow P-subgroup
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 162
作問者 : 箱星 / テスター : 👑 p-adic
タグ : / 解いたユーザー数 162
作問者 : 箱星 / テスター : 👑 p-adic
問題文最終更新日: 2023-05-19 20:17:44
問題文
$N$ 次対称群のシロー $P$ 部分群の位数を $998244353$ で割った余りを求めてください。
($N$ 次対称群とは)
集合 $\{1,2,\ldots,N\}$ 上の全単射全体からなる群です。位数は $N!$ です。
(シロー部分群とは)
位数 $m$ の群を考えます。$p$ を素数とし、負でない整数 $e$ と $p$ の倍数でない正の整数 $k$ を用いて $m=p^e\times k$ と表します。このとき位数が $p^e$ の部分群が存在します。これをシロー $p$ 部分群といいます。
制約
- $N$ は $1\le N\le 10^{12}$ をみたす整数
- $P$ は $2\le P\lt 998244353$ をみたす素数
入力
$N$ $P$
出力
答えを $998244353$ で割った余りを出力してください。
サンプル
サンプル1
入力
4 2
出力
8
$4$ 次対称群の位数は $4!=24=2^3\times 3$ なので、シロー $2$ 部分群の位数は $2^3=8$ です。
サンプル2
入力
1 11
出力
1
サンプル3
入力
1000000000000 998244341
出力
506700903
$998244353$ で割った余りを出力してください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。