#arc157c. [arc157_c]YY Square

[arc157_c]YY Square

問題文

HHWW 列のマス目の各マスに X, Y のいずれかの文字が書かれています. 上から ii 行目,左から jj 列目のマスを (i,j)(i, j) で表します. マス目に書かれている文字は HH 個の文字列 S1,S2,dots,SHS_1, S_2, \\dots, S_H によって与えられ,SiS_ijj 文字目がマス (i,j)(i, j) に書かれた文字を表します.

下または右に隣接するマスへの移動を繰り返してマス (1,1)(1, 1) からマス (H,W)(H, W) に至る経路 PP に対して,

  • PP で通るマスに書かれた文字を順に並べて得られる長さ (H+W1)(H + W - 1) の文字列」を mathrmstr(P)\\mathrm{str}(P) とし,
  • mathrmstr(P)\\mathrm{str}(P) 中で Y 同士が隣り合う箇所の個数の 22」を PPスコアと定義します.

そのような経路 PP としてあり得るものは displaystylebinomH+W2H1\\displaystyle\\binom{H + W - 2}{H - 1} 通りありますが,その全てに対するスコアの総和を 998244353998244353 で割った余りを求めてください.

binomNK\\binom{N}{K} の意味 displaystylebinomNK\\displaystyle\\binom{N}{K} は,NN 個の相異なる要素から KK 個を選ぶ場合の数を表す二項係数です.

制約

  • 1leqHleq20001 \\leq H \\leq 2000
  • 1leqWleq20001 \\leq W \\leq 2000
  • Si(1leqileqH)S_i \\ (1 \\leq i \\leq H)X, Y からなる長さ WW の文字列である.

入力

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

HH WW S1S_1 S2S_2 vdots\\vdots SHS_H

出力

あり得る経路全てに対するスコアの総和を 998244353998244353 で割った余りを出力せよ.


入力例 1

2 2
YY
XY

出力例 1

4

経路 PP としてあり得るものは (1,1)to(1,2)to(2,2)(1, 1) \\to (1, 2) \\to (2, 2)(1,1)to(2,1)to(2,2)(1, 1) \\to (2, 1) \\to (2, 2)22 通りです.

  • (1,1)to(1,2)to(2,2)(1, 1) \\to (1, 2) \\to (2, 2) の場合,mathrmstr(P)=\\mathrm{str}(P) = {}YYY であり,1,21, 2 文字目と 2,32, 3 文字目の 22 箇所で Y 同士が隣り合っているので,スコアは 22=42^2 = 4 です.
  • (1,1)to(2,1)to(2,2)(1, 1) \\to (2, 1) \\to (2, 2) の場合,mathrmstr(P)=\\mathrm{str}(P) = {}YXY であり,Y 同士が隣り合う箇所は無いので,スコアは 02=00^2 = 0 です.

したがって,求める総和は 4+0=44 + 0 = 4 となります.


入力例 2

2 2
XY
YY

出力例 2

2

22 通りのいずれの経路の場合も mathrmstr(P)=\\mathrm{str}(P) = {}XYY であり,スコアは 12=11^2 = 1 です.


入力例 3

10 20
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY

出力例 3

423787835

スコアの総和を 998244353998244353 で割った余りを出力してください.