#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7, INF = 1e18, MX = 1e5 + 4;
string str;
long long tot, memo[202][2], ff[202][102][202][2];
long long calc(long long reg_len, bool b) {
  if (memo[reg_len][b] != -1) return memo[reg_len][b];
  string tbf = str.substr(0, reg_len) + ((b) ? ')' : '(');
  if (tbf == str) return memo[reg_len][b] = 0;
  for (long long i = tbf.size() - 1; i >= 1; i--) {
    if (str.substr(0, i) == tbf.substr(tbf.size() - i, i)) {
      return memo[reg_len][b] = i;
    }
  }
  return memo[reg_len][b] = 0;
}
long long f(long long length, long long num_open, long long reg_len,
            bool good) {
  long long temp = 0;
  long long num_close = length - num_open;
  if (num_close > num_open) return 0;
  if (num_open > tot / 2) return 0;
  if (ff[length][num_open][reg_len][good] != -1)
    return ff[length][num_open][reg_len][good] % MOD;
  good |= (reg_len == str.size());
  if (length == tot && good)
    return ff[length][num_open][reg_len][good] = 1;
  else if (length == tot)
    return ff[length][num_open][reg_len][good] = 0;
  if (good)
    return ff[length][num_open][reg_len][good] =
               (f(length + 1, num_open + 1, 0, good) % MOD +
                f(length + 1, num_open, 0, good) % MOD) %
               MOD;
  if (str[reg_len] == '(') {
    temp += f(length + 1, num_open + 1, reg_len + 1, good);
    temp %= MOD;
    temp += f(length + 1, num_open,
              (reg_len) ? calc(reg_len, 1) : (str[0] == ')'), good);
    temp %= MOD;
  }
  if (str[reg_len] == ')')
    temp += f(length + 1, num_open, reg_len + 1, good), temp %= MOD,
        temp += f(length + 1, num_open + 1,
                  (reg_len) ? calc(reg_len, 0) : (str[0] == '('), good),
        temp %= MOD;
  return ff[length][num_open][reg_len][good] = temp % MOD;
}
int main() {
  memset(memo, -1, sizeof(memo));
  memset(ff, -1, sizeof(ff));
  cin >> tot >> str;
  tot *= 2;
  long long ans = 0;
  if (str[0] == '(')
    cout << f(1, 1, 1, (str == "(")) % MOD << '\n';
  else
    cout << f(1, 1, 0, 0) % MOD << '\n';
}
