#4051. 查找 404

查找 404

查找 404

题目描述

Eve 有一个字符串 SS,该字符串仅由字符 *40 组成。字符 * 可以被替换为 40

Eve 想要计算在所有可能通过替换 * 生成的字符串中,子序列 404 出现的总次数之和。由于这个数字可能非常大,你需要输出其模 109+710^9 + 7 的结果。

例如,当 SS4*4* 时,可以替换为 4040, 4044, 4440, 4444,其中分别有 1,2,0,01, 2, 0, 0404 子序列,共 33 个。

输入格式

第一行一个整数 TT 表示数据组数。对于每组数据:

第一行一个整数 nn 表示 SS 的长度。

第二行一个字符串 SS

输出格式

对于每组数据,输出一行一个整数表示答案。

数据范围

  • 对于 30%30\% 的数据,1T101 \leq T \leq 101n,n101 \leq n, \sum n \leq 10
  • 对于 60%60\% 的数据,1T1001 \leq T \leq 1001n,n1001 \leq n, \sum n \leq 100
  • 对于 100%100\% 的数据,1T1051 \leq T \leq 10^51n1051 \leq n \leq 10^51n1061 \leq \sum n \leq 10^6SS 中仅包含 40* 三种字符

样例

样例输入

2
4
4*04
4
4*4*

样例输出

4
3

说明

第二组数据即为题目描述中举的例子。