Exponential Sorted Substrings

2 secs 1024 MB
programgmg2's icon programgmg2

Exponential Sorted Substrings

Cler : テストケースに誤りがありましたので訂正いたしました。該当ケースを入出力例に追加しています。

問題文

次の条件を満たすような長さ NN の数列 AA として考えられるものの個数を 998244353998244353 で割った余りを求めよ。

  • 任意の Ai(1iN)A_i(1\leq i \leq N) について、AiA_i は整数であり、 1AiM1 \leq A_i \leq M を満たす。
  • 1i<jN1 \leq i < j \leq N を満たす任意の整数組 (i,j)(i,j) について、AiAj<AjAi{A_i}^{A_j} < {A_j}^{A_i} を満たす。

制約

  • 2NM1062 \leq N \leq M \leq 10^{6}

入力

入力はすべて整数である。

N M

出力

条件を満たすような長さ NN の数列 AA の個数を 998244353998244353 で割った余りを一行に出力せよ。

サンプル

入力1
3 5
出力1
7

AA として考えられる数列は、(1,2,3),(1,5,2),(1,4,3),(1,5,3),(1,5,4),(5,2,3),(5,4,3)(1,2,3),(1,5,2),(1,4,3),(1,5,3),(1,5,4),(5,2,3),(5,4,3)77 個より、77 を出力します。

入力2
2 2
出力2
1

AA として考えられる数列は、 (1,2)(1,2) のみです。

入力3
2 2
出力3
2

AA として考えられる数列は、 (1,2,3),(1,4,3)(1,2,3),(1,4,3) です。

Submit


Go (1.21)