O - Triangle 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MiB

配点 : 600

問題文

H \times W の格子点のうち相異なる3点を結んでできる三角形の個数を求めてください。

より厳密には、次の条件を満たす二次元平面上の3点の組 (X_1,Y_1),(X_2,Y_2),(X_3,Y_3) の個数を求めてください。

  • 0 \leq X_1,X_2,X_3 < H
  • 0 \leq Y_1,Y_2,Y_3 < W
  • X_1,Y_1,X_2,Y_2,X_3,Y_3 は整数
  • (X_1,Y_1),(X_2,Y_2),(X_3,Y_3) は相異なる
  • (X_1,Y_1),(X_2,Y_2),(X_3,Y_3) を結んでできる図形は非退化な三角形である

ただし、並べ替えにより同じ組が得られる場合は1つの組とみなします。 また、答えは非常に大きくなる可能性があるため、 998244353 で割った余りを出力してください。

制約

  • 2 \leq H,W \leq 10^{5}
  • 入力は全て整数

入力

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

H W

出力

答えを 998244353 で割った余りを出力せよ。


入力例 1

2 2

出力例 1

4

例えば、(0,0),(0,1),(1,0) を結ぶと非退化な三角形が得られます。 2×2 の格子点から 3 点を選んで非退化な三角形を作る方法は 4 通りです。よって 4 を出力してください。


入力例 2

5 6

出力例 2

3820

入力例 3

128 256

出力例 3

353626996

答えを 998244353 で割った余りを出力してください。