#include <bits/stdc++.h>
using namespace std;
int m, n, k, bag, q;
long long dp[2100][2100];
char s[200000];
const int p = 1000000007;
int main() {
  cin >> m >> n;
  k = m - n;
  cin >> s;
  bag = q = 0;
  for (int i = 0; i < n; i++) {
    if (s[i] == '(')
      bag++;
    else
      bag--;
    if (bag < q) q = bag;
  }
  dp[0][0] = 1;
  for (int i = 1; i <= m - n; i++)
    for (int j = 0; j <= m - n; j++)
      if (j == 0)
        dp[i][j] = (dp[i - 1][j + 1]) % p;
      else
        dp[i][j] = (dp[i - 1][j + 1] + dp[i - 1][j - 1]) % p;
  long long ans = 0;
  for (int i = -q; i <= m - n; i++)
    for (int l = 0; l <= m - n; l++)
      if (i + bag <= m - n) ans = (ans + dp[l][i] * dp[m - n - l][i + bag]) % p;
  cout << ans << endl;
  return 0;
}
