H, W = map(int, input().split()) S = [input() for i in range(H)] dp = [[[0 for i in range(H)] for j in range(H)] for k in range(H+W-1)] dp[0][0][0] = 1 di, dj = [1, 0], [0, 1] MOD = 998244353 for k in range(0, H+W): for ai in range(H): for bi in range(H): aj = k - ai bj = k - bi #Alice : (ai, aj), Bob : (bi, bj) for x in range(2): for y in range(2): #被る移動は行えない nai, naj = ai + di[x], aj + dj[x] nbi, nbj = bi + di[y], bj + dj[y] if 0 <= nai < H and 0 <= naj < W and 0 <= nbi < H and 0 <= nbj < W and S[nai][naj] == '.' and S[nbi][nbj] == '.' and (k == H+W-3 or nai != nbi or naj != nbj): # print(k, ai, bi, nai, nbi) dp[k+1][nai][nbi] += dp[k][ai][bi] dp[k+1][nai][nbi] %= MOD # for k in range(0, H+W-1): # for ai in range(H): # for bi in range(H): # if dp[k][ai][bi] != 0: print(k, ai, bi, dp[k][ai][bi]) print(dp[-1][-1][-1] * pow(2, -1, MOD) % MOD)