L - Polyomino Tiling Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : {600}

問題文

2 マス、横 NM マスからなる長方形の形をしたマス目があります。

このマス目を 2N 個の「M マスでできた多角形」によって隙間なく、かつ重複なく敷き詰めることを考えます。ここで、ある M マスの集合はそれに含まれるマス目全体が連結であるとき、またその時に限り「M マスでできた多角形」と呼ばれるものとします。

回転や反転を行うことで初めて一致するような敷き詰め方は区別するものとして、敷き詰め方の総数を 998244353 で割った余りを求めてください。

制約

  • 1 \leq N,M \leq 2000
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられる。

N M

出力

敷き詰め方の総数を 998244353 で割った余りを 1 行に出力せよ。


入力例 1

2 3

出力例 1

11

例えば、次のような敷き詰め方があります。


入力例 2

3 4

出力例 2

169

入力例 3

100 150

出力例 3

944278885

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

原案: cpcznksutbeoa