#include using namespace std; #include using mint = atcoder::modint998244353; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int H, W; cin >> H >> W; vector S(H); for (int i = 0; i < H; i++) cin >> S[i]; vector> P(2, vector(2)); vector> A = {{1, 0}, {0, 1}}; vector> B = {{H - 1, W - 2}, {H - 2, W - 1}}; for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { auto [sr, sc] = A[i]; auto [tr, tc] = B[j]; vector> dp(H, vector(W)); dp[sr][sc] = 1; for (int r = 0; r < H; r++) { for (int c = 0; c < W; c++) { if (S[r][c] == '.') { if (r) dp[r][c] += dp[r - 1][c]; if (c) dp[r][c] += dp[r][c - 1]; } } } P[i][j] = dp[tr][tc]; } } cout << (P[0][0] * P[1][1] - P[0][1] * P[1][0]).val() << endl; }