#48. [R8F]括号子序列
[R8F]括号子序列
时空限制
1S/512M
题目描述
“合法“的括号序列定义如下:
- 空字符串是合法的;
- ()、- (?、- ?)、- ??都是合法的;
- 如果序列 a是合法的,那么(a)、(a?、?a)、?a?也都是合法的;
- 如果序列 a和b都是合法的,那么ab也是合法的。
定义字符串 的子序列:删去 中任意个(可以是 个)字符后,剩下的字符按原有顺序拼接得到的字符串。
如果 的第 个字符在 的子序列 中被删除,而在 的子序列 中没被删除,那么 和 算作 的两个不同子序列。
给定一个仅由 (、)、? 三种字符构成且长度为  的字符串 ,求  的不同子序列中合法的数量,对  取模。
格式
输入格式
第一行包含一个整数 表示字符串的长度。
第二行包含一个仅由 (、)、? 三种字符构成且长度为  的字符串 。
输出格式
输出一个整数,表示 的子序列中合法的数量,对 取模。
样例
样例输入 #1
5
??)??
样例输出 #1
14
样例解释 #1
共有  个合法子序列:空串;??;?);??;??;?);??;??;??;??)?;??)?;????;?)??;?)??。
样例输入 #2
8 
?(?()(??
样例输出 #2
88
数据规模
对于 的数据,。
另有  的数据,字符串仅由 (、) 这两种字符组成。
另有  的数据,字符串仅由 (、? 这两种字符组成。
对于  的数据,。数据保证字符串仅由 (、)、? 这三种字符组成。
Related
In following contests:
