問題文

KK 個の整数からなる多重集合 AA があります。AA の各要素は 11 以上 2N2^N 未満の整数です。

AA を使って Alice と Bob がゲームをします。Alice から始めて 22 人は交互に以下の操作を繰り返します。

  • 11 以上の整数が書かれた要素を 11 つ選ぶ。選んだ要素の値が XX のとき、その要素を 00 以上 XX 未満の整数に置き換える。

先に操作ができなくなったプレイヤーが負けで、負けなかったプレイヤーが勝ちです。

AA として考えられる全ての多重集合のうち、Bob がどのような操作をしても Alice が必ず勝てる多重集合の種類数を 998244353998244353 で割った余りで求めて下さい。

制約

  • 1N201 \leq N \leq 20
  • 1K2201 \leq K \leq 2^{20}
  • 入力はすべて整数

入力

NN KK

出力

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

サンプル

入力1
2 2
出力1
3

AA として {1,1},{1,2},{1,3},{2,2},{2,3},{3,3}\{1, 1\}, \{1, 2\}, \{1, 3\}, \{2, 2\}, \{2, 3\}, \{3, 3\}66 種類が考えられます。

このうち Alice が必ず勝てるものは {1,2},{1,3},{2,3}\{1, 2\}, \{1, 3\}, \{2, 3\}33 種類です。

入力2
5 3
出力2
5301
入力3
1 1048576
出力3
0
入力4
12 345678
出力4
783055785

998244353998244353 で割った余りで出力することに注意してください。

提出


Go (1.21)