logo AlgoBeat OnlineJudge
登录 注册

#216700. [SCCPC 2026] 括号序列

内存限制:1024 MiB 时间限制:2000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

对于字符串 ,定义 的字典序小于 当且仅当以下三者之一成立:

  • 为空串(长度为 ), 为非空串;
  • 为非空串,且 字典序小于 ,这里 表示 的首个字符;
  • 为非空串,且 字典序小于 ,这里 表示 删除首个字符得到的字符串。

对于由 组成的括号串 ,称其为可匹配的,当且仅当以下三者之一成立:

  • 是空串(长度为 );
  • ,其中 是可匹配的括号串;
  • ,其中 都是可匹配的非空括号串。

下面给出一个可匹配的括号串 ,求有多少个括号串 满足以下四个条件:

  • 不是空串(长度大于 );
  • 是可匹配的;
  • ,或 的字典序小于
  • 的长度小于等于 的长度。

注意,符号 小。

本题采用多组测试。答案可能很大,请输出结果对 取模后的余数。

输入格式

每个测试点第一行包含一个正整数 ),表示数据组数。

接下来 组数据,每组数据第一行为一个偶数 ),表示字符串 的长度。

第二行为一个长度为 的括号串,其字符集为 。这里保证 是可匹配的。

保证单个测试点内所有括号串的长度总和不超过

输出格式

输出 行,第 行表示第 组数据的答案对 取模后的余数。

样例

样例输入 1

6
2
()
4
()()
4
(())
6
()(())
8
(())(())
20
((()())(()())(()()))

样例输出 1

1
3
1
6
11
7346

数据范围与提示

对于第四组数据,有以下六个符合要求的