Eve 有一个字符串 SS,该字符串仅由字符 *
、4
和 0
组成。字符 *
可以被替换为 4
或 0
。
Eve 想要计算在所有可能通过替换 *
生成的字符串中,包含子序列 404
的总数。由于这个数字可能非常大,你需要其输出模 109+71e9+7 的结果。
例如,当 SS 为 4*4*
时,可以替换为 4040,4044,4440,4444
,其中分别有 1,2,0,01,2,0,0 个 404
子序列,共 33 个。
第一行一个整数 TT 表示数据组数。对于每组数据:
第一行一个整数 nn 表示 SS 的长度。
第二行一个字符串 SS。
对于每组数据,输出一行一个整数表示答案。
2 4 4*04 4 4*4*
4 3
对于 30% 的数据,1\leq t \leq 10,1\leq n, \sum n \leq 10;
对于 60% 的数据,1\leq t \leq 100,1\leq n, \sum n \leq 100;
对于 100% 的数据,1\leq t \leq 10^5,1\leq n \leq 10^5, \sum n \leq 10^6;