#include <bits/stdc++.h>
const int mod = (int)1e9 + 7;
using namespace std;
int n, m, mn, ss;
int dp[2005][2005][2];
string s;
inline int fun(int now, int b, int l, int p, int neg) {
  if (now < 0 || l > n || neg > n - m || p > n - m) return 0;
  if (l == n) return (now == 0 && b);
  int &ans = dp[p][neg][b];
  if (ans != -1) return ans;
  ans = 0;
  if (now > 0) ans += fun(now - 1, b, l + 1, p, neg + 1);
  ans %= mod;
  if (!b && now + mn >= 0) ans += fun(now + ss, 1, l + m, p, neg);
  ans %= mod;
  ans += fun(now + 1, b, l + 1, p + 1, neg);
  ans %= mod;
  return ans;
}
int main() {
  scanf("%d", &n);
  scanf("%d", &m);
  cin >> s;
  for (int i = 0; i < s.size(); i++) {
    if (s[i] == '(')
      ss++;
    else
      ss--;
    mn = min(ss, mn);
  }
  memset(dp, -1, sizeof dp);
  cout << fun(0, 0, 0, 0, 0);
}
