#2672. 简单的序列

简单的序列

题目描述

从前有个括号序列 s\red{s,}满足 s=m\red{|s| = m}

你需要统计括号序列对 (p,q)\red{(p, q) }的数量。

其中 (p,q)\red{(p, q) }满足 p+s+q=n\red{|p| + |s| + |q| = n,}p+s+q\red{p + s + q }是一个合法的括号序列。

输入格式

从文件 bracket.in\red{bracket.in }中读入数据。

第一行两个正整数 n,m\red{n, m}

第二行一个长度为 m\red{m }的括号序列,表示 s\red{s}

输出格式

输出到文件 bracket.out\red{bracket.out }中。

输出一行一个整数,表示符合条件的 (p,q)\red{(p, q) }的数量对 109+7\red{10^9 + 7 }取模的值。

样例

输入样例1

4 1 
(

输出样例1

4

输入样例2

4 4
(())

输出样例2

1

输入样例3

4 3 (((

输出样例3

0

提示

数据

对于 10%\red{10\% }的数据,n\red{n ≤} 20\red{20}

对于 25%\red{25\% }的数据,n\red{n ≤} 200\red{200}

对于另外 5%\red{5\% }的数据,n=m\red{n = m}

对于 55%\red{55\% }的数据,nm\red{n - m ≤} 200\red{200}

对于 100%\red{100\% }的数据,1\red{1 ≤} m\red{m ≤} n\red{n ≤} 105,nm\red{10^5, n - m ≤} 2000\red{2000}