問題文

正の整数 N,MN,M が与えられます。長さが NN であり、それぞれの要素が 11 以上 MM 以下の整数である数列は MNM^N 個存在しますが、そのうち次の条件を満たすものの個数を 998244353998244353 で割った余りを求めてください。

  • 全ての要素の最小公倍数が、 11 から MM までの全ての整数の最小公倍数と等しい。

制約

  • 入力は全て整数
  • 1N20001\leq N\leq 2000
  • 1M9×1081\leq M\leq 9×10^8

入力

N M

出力

答えを出力してください。

サンプル

入力1
3 3
出力1
12

この場合、 2233 をどちらも含む数列の個数を求めればよく、これは 1212 個存在します。

入力2
7 8
出力2
295680

この場合、 557788 を全て含み、また 3,63,6 の少なくとも片方を含む数列の個数を求めればよいです。

入力3
1414 2135
出力3
833302514

998244353998244353 で割った余りを求めてください。

Submit


Go (1.21)