#include #include using namespace std; using namespace atcoder; using mint = modint998244353; using ll = long long; #define all(x) x.begin(), x.end() #define rep(i, n) for (int i = 0; i < n; i++) int main(void) { int n; cin >> n; string s; cin >> s; int cnt = 0; vector> dp(n, vector(n)); dp[0][0] = 1; rep(p, n){ if(s[p] == '('){ rep(i, cnt + 1){ int j = cnt - i; dp[i+1][j]+=dp[i][j]; dp[i][j+1]+=dp[i][j]; dp[i][j] = 0; } cnt++; } else{ rep(i, cnt + 1){ int j = cnt - i; if(i > 0) dp[i-1][j]+=dp[i][j]; if (j > 0) dp[i][j-1]+=dp[i][j]; dp[i][j]=0; } cnt--; } } cout << dp[0][0].val() << endl; return 0; }