#include <bits/stdc++.h>
using namespace std;
long long int modulo = 1e9 + 7;
int n, m;
long long int combi[4005][4005];
long long int computamaneras(int l, int h) {
  long long int maneras = combi[l][(l + h) / 2];
  if ((l + h + 2) / 2 <= l) maneras -= combi[l][(l + h + 2) / 2];
  maneras = (maneras + modulo) % modulo;
  return maneras;
}
int main() {
  {
    for (int n = 0; n < 4005; n++)
      for (int k = 0; k <= n; k++)
        if (k == 0 or k == n)
          combi[n][k] = 1;
        else
          combi[n][k] = (combi[n - 1][k] + combi[n - 1][k - 1]) % modulo;
  }
  ios::sync_with_stdio(false);
  cin >> n >> m;
  int hle, hri;
  {
    int val = 0;
    int minimo = 0;
    for (int i = 0; i < m; i++) {
      char c;
      cin >> c;
      if (c == '(')
        val++;
      else
        val--;
      minimo = min(minimo, val);
    }
    hle = 0 - minimo;
    hri = val - minimo;
  }
  long long int sol = 0;
  for (int le = 0; le <= n - m; le++) {
    int ri = n - m - le;
    for (int addh = 0; addh <= n - m; addh++) {
      if (le >= hle + addh and ri >= hri + addh and
          (le + hle + addh) % 2 == 0 and (ri + hri + addh) % 2 == 0) {
        sol = (sol + computamaneras(le, hle + addh) *
                         computamaneras(ri, hri + addh)) %
              modulo;
      }
    }
  }
  sol = ((sol % modulo) + modulo) % modulo;
  cout << sol << endl;
}
