#include int main () { int h = 0; int w = 0; int k = 0; char s[100][101] = {}; int res = 0; long long ans = 0LL; long long mod_num = 998244353LL; long long dp[100][100][200] = {}; res = scanf("%d", &h); res = scanf("%d", &w); res = scanf("%d", &k); for (int i = 0; i < h; i++) { res = scanf("%s", s[i]); } dp[0][0][0] = 1LL; for (int i = 1; i < w; i++) { if (s[0][i] == '.') { for (int j = 0; j < k; j++) { dp[0][i][j] = dp[0][i-1][j]; } } else if (s[0][i] == 'o') { for (int j = 0; j < k-1; j++) { dp[0][i][j+1] = dp[0][i-1][j]; } } } for (int i = 1; i < h; i++) { if (s[i][0] == '.') { for (int j = 0; j < k; j++) { dp[i][0][j] = dp[i-1][0][j]; } } else if (s[i][0] == 'o') { for (int j = 0; j < k-1; j++) { dp[i][0][j+1] = dp[i-1][0][j]; } } for (int j = 1; j < w; j++) { if (s[i][j] == '.') { for (int l = 0; l < k; l++) { dp[i][j][l] = (dp[i-1][j][l]+dp[i][j-1][l])%mod_num; } } else if (s[i][j] == 'o') { for (int l = 0; l < k-1; l++) { dp[i][j][l+1] = (dp[i-1][j][l]+dp[i][j-1][l])%mod_num; } } } } for (int i = 0; i < k; i++) { ans += dp[h-1][w-1][i]; } printf("%lld\n", ans%mod_num); return 0; }