#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
long long f[2005][2005];
int n, m;
long long ans = 0;
int main() {
  cin >> n >> m;
  int k = n - m;
  f[0][0] = 1;
  for (int i = 1; i <= k; i++) {
    f[i][0] = f[i - 1][1];
    for (int j = 1; j <= i; j++)
      f[i][j] = (f[i - 1][j - 1] + f[i - 1][j + 1]) % mod;
  }
  int t = 0;
  int mn = m;
  for (int i = 0; i < m; i++) {
    char x;
    cin >> x;
    if (x == '(')
      t++;
    else
      t--;
    mn = min(mn, t);
  }
  for (int i = 0; i <= k; i++)
    for (int j = 0; j <= i; j++)
      if (mn + j >= 0 && j + t <= k - i)
        ans = (ans + (f[i][j] * f[k - i][j + t]) % mod) % mod;
  cout << ans << endl;
}
