#include #include using namespace std; using namespace atcoder; using mint = modint998244353; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int m, n, h; cin >> m >> n >> h; vector s(m); for (int i = 0; i < m; i++) { cin >> s[i]; } vector dp(m, vector(n, vector(h + 1))); dp[0][0][h] = 1; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if (s[i][j] == '#') { continue; } for (int k = 1; k <= h; k++) { if (i > 0 && (k < h || s[i][j] == '.')) { dp[i][j][k] += dp[i - 1][j][k + (s[i][j] == 'o')]; } if (j > 0 && (k < h || s[i][j] == '.')) { dp[i][j][k] += dp[i][j - 1][k + (s[i][j] == 'o')]; } } } } cout << accumulate(dp[m - 1][n - 1].begin(), dp[m - 1][n - 1].end(), mint(0)).val(); }