AT_arc202_b [ARC202B] Japanese "Knight's Tour"

Description

縦 $ H $ マス、横 $ W $ マスの将棋盤と $ 1 $ 個の桂馬の駒があります。将棋盤の上から $ i $ 行目、左から $ j $ 列目にあるマスを $ (i-1, j-1) $ と表します。(値が $ 1 $ ずれている点に注意してください。) この将棋盤はトーラス、すなわち上と下および左と右がつながっています。 $ (i, j) $ にある桂馬は $ ((i-2) \bmod H, (j-1) \bmod W) $ または $ ((i-2) \bmod H, (j+1) \bmod W) $ に動かすことができます。 次の条件を満たすように桂馬を将棋盤の上で動かすことを **ツアー** と呼びます。 - はじめ、 $ (0, 0) $ に桂馬を置く。その後、桂馬が全てのマスにちょうど $ 1 $ 回ずつ移動するように $ H \times W $ 回桂馬を動かす。そして最終的に桂馬が $ (0, 0) $ に戻ってくる。 ツアーが何通りあるかを $ 998244353 $ で割った余りを求めてください。ただし、 $ 2 $ つのツアーはある整数 $ i $ $ (1 \leq i \leq H\times W) $ が存在して $ i $ 回目の移動先が異なる場合に異なるとみなします。

Input Format

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

Output Format

ツアーが何通りあるかを $ 998244353 $ で割った余りを出力せよ。

Explanation/Hint

### Sample Explanation 1 例えば $ (0,0) \to (1,1) \to (2,2) \to (0,1) \to (1,2) \to (2,0) \to (0,2) \to (1,0) \to (2,1) \to (0,0) $ という移動はツアーとして条件を満たします。 ツアーは全部で $ 6 $ 通りあります。 ### Constraints - $ 3 \leq H \leq 2 \times 10^5 $ - $ 3 \leq W \leq 2 \times 10^5 $ - 入力される値は全て整数