// ROOT : DRAGON3012009 : WA in Real Life
#include <bits/stdc++.h>
#define FOR(i,l,r) for(int i = l ; i <= r ; i ++)
#define FORD(i,r,l) for(int i = r ; i >= l ; i --)
#define REP(i, a ) for(int i = 0 ; i < a ; i ++ )
#define compare(v) sort((v).begin(), (v).end()); (v).erase(unique((v).begin(), (v).end()), (v).end());
#define ll int
#define el "\n"
#define fi first
#define se second
#define _ROOT_ int main()
#define M 998244353
#define MAXN 31
#define INF (1ll<<30)
#define NAME "file"
using namespace std;
ll dx[] = {0, 1, 0, - 1 } ;
ll dy[] = {1, 0, -1, 0 } ;
ll n, m, k ;
ll dp[MAXN][MAXN][MAXN][MAXN][11][4]; // | left , - top , l right , -bot , cur_k , dir , ok ;
char a[MAXN][MAXN ] ;
ll Power(ll a, ll b ) { ll res = 1; while(b){ if(b&1) res = a*res%M; b>>=1; a=a*a%M; } return res; }
ll add(ll a, ll b ) { return a + b >= M ? a + b - M : a + b; }
ll mul(ll a, ll b ) { return 1LL * (a%M) * (b%M) % M; }
ll sub(ll a, ll b ) { return a - b < 0 ? a - b + M : a - b; }
ll divi(ll a, ll b) { return 1LL * a * Power(b, M - 2 ) % M; }
bool in(ll cur_x, ll cur_y, ll left, ll top, ll right, ll bot ) {
return left < cur_y && cur_y < right && top < cur_x && cur_x < bot;
}
ll DP(ll lim_left, ll lim_top, ll lim_right, ll lim_bot, ll cur_k, ll cur_dir ) {
ll &cur = dp[lim_left][lim_top][lim_right][lim_bot][cur_k][cur_dir] ;
if(cur != - 1 ) return cur ;
cur = 0 ;
ll x, y ;
if(cur_dir == 0 ) x = lim_top + 1 , y = lim_left + 1 ;
else if(cur_dir == 1 ) x = lim_top + 1, y = lim_right - 1 ;
else if(cur_dir == 2 ) x = lim_bot - 1 , y = lim_right - 1 ;
else x = lim_bot - 1 , y = lim_left + 1 ;
ll nxt_k = cur_k;
while(in(x, y, lim_left, lim_top, lim_right, lim_bot )) {
nxt_k += ( a[x][y] == '(' ? 1 : -1) ;
if(nxt_k > k || nxt_k < 0 ) break ;
if(nxt_k == 0 ) cur = add(cur, 1 ) ;
ll nxt_dir = (cur_dir + 1 ) % 4 ;
ll nxt_x = x + dx[nxt_dir ], nxt_y = y + dy[nxt_dir ] ;
if(in(nxt_x, nxt_y, lim_left, lim_top, lim_right, lim_bot )) {
if(nxt_dir == 1 ) cur = add(cur, DP(lim_left, x , y + 1 , lim_bot, nxt_k, nxt_dir ) ) ;
if(nxt_dir == 2 ) cur = add(cur, DP(lim_left, lim_top, y , x + 1 , nxt_k, nxt_dir ) ) ;
if(nxt_dir == 3 ) cur = add(cur, DP(y - 1 , lim_top, lim_right, x , nxt_k, nxt_dir ) ) ;
if(nxt_dir == 0 ) cur = add(cur, DP(y , x - 1, lim_right, lim_bot, nxt_k, nxt_dir ) ) ;
}
x += dx[cur_dir ] ;
y += dy[cur_dir ] ;
}
return cur ;
}
void init() {
cin >> n >> m >> k ;
FOR(i, 1, n ) FOR(j, 1, m ) cin >> a[i][j] ;
}
void solve() {
memset(dp, - 1, sizeof dp ) ;
cout << DP(0, 0, m + 1, n + 1, 0, 0 ) ;
}
_ROOT_ {
// freopen(NAME".inp" , "r" , stdin);
// freopen(NAME".out" , "w", stdout) ;
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t = 1; // cin >> t ;
while(t--) {
init();
solve();
}
return (0&0);
}
Ly8gUk9PVCA6IERSQUdPTjMwMTIwMDkgOiBXQSBpbiBSZWFsIExpZmUKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgRk9SKGksbCxyKSBmb3IoaW50IGkgPSBsIDsgaSA8PSByIDsgaSArKykKI2RlZmluZSBGT1JEKGkscixsKSBmb3IoaW50IGkgPSByIDsgaSA+PSBsIDsgaSAtLSkKI2RlZmluZSBSRVAoaSwgYSApIGZvcihpbnQgaSA9IDAgOyBpIDwgYSA7IGkgKysgKQojZGVmaW5lIGNvbXBhcmUodikgc29ydCgodikuYmVnaW4oKSwgKHYpLmVuZCgpKTsgKHYpLmVyYXNlKHVuaXF1ZSgodikuYmVnaW4oKSwgKHYpLmVuZCgpKSwgKHYpLmVuZCgpKTsKI2RlZmluZSBsbCBpbnQKI2RlZmluZSBlbCAiXG4iCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBfUk9PVF8gaW50IG1haW4oKQojZGVmaW5lIE0gOTk4MjQ0MzUzCiNkZWZpbmUgTUFYTiAzMQojZGVmaW5lIElORiAoMWxsPDwzMCkKI2RlZmluZSBOQU1FICJmaWxlIgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbGwgZHhbXSA9IHswLCAxLCAwLCAtIDEgfSA7CmxsIGR5W10gPSB7MSwgMCwgLTEsIDAgIH0gOwoKbGwgbiwgbSwgayA7CmxsIGRwW01BWE5dW01BWE5dW01BWE5dW01BWE5dWzExXVs0XTsgLy8gfCBsZWZ0ICwgLSB0b3AgLCBsIHJpZ2h0ICwgLWJvdCAsIGN1cl9rICwgZGlyICwgb2sgOwpjaGFyIGFbTUFYTl1bTUFYTiBdIDsKCmxsIFBvd2VyKGxsIGEsIGxsIGIgKSB7IGxsIHJlcyA9IDE7IHdoaWxlKGIpeyBpZihiJjEpIHJlcyA9IGEqcmVzJU07IGI+Pj0xOyBhPWEqYSVNOyB9IHJldHVybiByZXM7IH0KbGwgYWRkKGxsIGEsIGxsIGIgKSB7IHJldHVybiBhICsgYiA+PSBNID8gYSArIGIgLSBNIDogYSArIGI7IH0KbGwgbXVsKGxsIGEsIGxsIGIgKSAgeyByZXR1cm4gMUxMICogKGElTSkgKiAoYiVNKSAlIE07IH0KbGwgc3ViKGxsIGEsIGxsIGIgKSB7IHJldHVybiBhIC0gYiA8IDAgPyBhIC0gYiArIE0gOiBhIC0gYjsgfQpsbCBkaXZpKGxsIGEsIGxsIGIpIHsgcmV0dXJuIDFMTCAqIGEgKiBQb3dlcihiLCBNIC0gMiApICUgTTsgfQoKYm9vbCBpbihsbCBjdXJfeCwgbGwgY3VyX3ksIGxsIGxlZnQsIGxsIHRvcCwgbGwgcmlnaHQsIGxsIGJvdCApIHsKICAgIHJldHVybiBsZWZ0IDwgY3VyX3kgJiYgY3VyX3kgPCByaWdodCAmJiB0b3AgPCBjdXJfeCAmJiBjdXJfeCA8IGJvdDsKfQoKbGwgRFAobGwgbGltX2xlZnQsIGxsIGxpbV90b3AsIGxsIGxpbV9yaWdodCwgbGwgbGltX2JvdCwgbGwgY3VyX2ssIGxsIGN1cl9kaXIgICkgewogICAgbGwgJmN1ciA9IGRwW2xpbV9sZWZ0XVtsaW1fdG9wXVtsaW1fcmlnaHRdW2xpbV9ib3RdW2N1cl9rXVtjdXJfZGlyXSA7CiAgICBpZihjdXIgIT0gLSAxICkgcmV0dXJuIGN1ciA7CiAgICBjdXIgPSAwIDsKICAgIGxsIHgsIHkgOwogICAgaWYoY3VyX2RpciA9PSAwICkgeCA9IGxpbV90b3AgKyAxICwgeSA9IGxpbV9sZWZ0ICsgMSA7CiAgICBlbHNlIGlmKGN1cl9kaXIgPT0gMSApIHggPSBsaW1fdG9wICsgMSwgeSA9IGxpbV9yaWdodCAtIDEgIDsKICAgIGVsc2UgaWYoY3VyX2RpciA9PSAyICkgeCA9IGxpbV9ib3QgLSAxICwgeSA9IGxpbV9yaWdodCAtIDEgIDsKICAgIGVsc2UgeCA9IGxpbV9ib3QgLSAxICwgeSA9IGxpbV9sZWZ0ICsgMSAgOwogICAgICAgIGxsIG54dF9rID0gY3VyX2s7CgogICAgd2hpbGUoaW4oeCwgeSwgbGltX2xlZnQsIGxpbV90b3AsIGxpbV9yaWdodCwgbGltX2JvdCApKSB7CgogICAgICAgIG54dF9rICs9ICggYVt4XVt5XSA9PSAnKCcgPyAxIDogLTEpIDsKICAgICAgICBpZihueHRfayA+IGsgfHwgbnh0X2sgPCAwICkgYnJlYWsgOwoKICAgICAgICBpZihueHRfayA9PSAwICApIGN1ciA9IGFkZChjdXIsIDEgKSA7CiAgICAgICAgbGwgbnh0X2RpciA9IChjdXJfZGlyICsgMSApICUgNCA7CiAgICAgICAgbGwgbnh0X3ggPSB4ICsgZHhbbnh0X2RpciBdLCBueHRfeSA9IHkgKyBkeVtueHRfZGlyIF0gOwoKICAgICAgICBpZihpbihueHRfeCwgbnh0X3ksIGxpbV9sZWZ0LCBsaW1fdG9wLCBsaW1fcmlnaHQsIGxpbV9ib3QgKSkgewogICAgICAgICAgICBpZihueHRfZGlyID09IDEgKSBjdXIgPSBhZGQoY3VyLCBEUChsaW1fbGVmdCwgeCAsIHkgKyAxICwgbGltX2JvdCwgbnh0X2ssIG54dF9kaXIgICkgKSA7CiAgICAgICAgICAgIGlmKG54dF9kaXIgPT0gMiApIGN1ciA9IGFkZChjdXIsIERQKGxpbV9sZWZ0LCBsaW1fdG9wLCB5ICAsIHggKyAxICAsIG54dF9rLCBueHRfZGlyICApICkgOwogICAgICAgICAgICBpZihueHRfZGlyID09IDMgKSBjdXIgPSBhZGQoY3VyLCBEUCh5IC0gMSAsIGxpbV90b3AsIGxpbV9yaWdodCwgeCAsIG54dF9rLCBueHRfZGlyICApICkgOwogICAgICAgICAgICBpZihueHRfZGlyID09IDAgKSBjdXIgPSBhZGQoY3VyLCBEUCh5ICwgeCAtIDEsIGxpbV9yaWdodCwgbGltX2JvdCwgbnh0X2ssIG54dF9kaXIgICkgKSA7CgogICAgICAgIH0KCiAgICAgICAgeCArPSBkeFtjdXJfZGlyIF0gOwogICAgICAgIHkgKz0gZHlbY3VyX2RpciBdIDsKCiAgICB9CiAgICByZXR1cm4gY3VyIDsKfQoKdm9pZCBpbml0KCkgewogICAgY2luID4+IG4gPj4gbSA+PiBrIDsKICAgIEZPUihpLCAxLCBuICkgRk9SKGosIDEsIG0gKSBjaW4gPj4gYVtpXVtqXSA7Cn0KCnZvaWQgc29sdmUoKSB7CiAgICBtZW1zZXQoZHAsIC0gMSwgc2l6ZW9mIGRwICkgOwogICAgY291dCA8PCBEUCgwLCAwLCBtICsgMSwgbiArIDEsIDAsIDAgKSA7Cn0KCl9ST09UXyB7CiAgICAvLyBmcmVvcGVuKE5BTUUiLmlucCIgLCAiciIgLCBzdGRpbik7CiAgICAvLyBmcmVvcGVuKE5BTUUiLm91dCIgLCAidyIsIHN0ZG91dCkgOwogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKICAgIGludCB0ID0gMTsgLy8gY2luID4+IHQgOwogICAgd2hpbGUodC0tKSB7CiAgICAgICAgaW5pdCgpOwogICAgICAgIHNvbHZlKCk7CiAgICB9CiAgICByZXR1cm4gKDAmMCk7Cn0K