#A1026. SOS 子序列

SOS 子序列

Description

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

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

例如,当 SSS*S* 时,可以替换为 SOSO,SOSS,SSSO,SSSS,其中分别有 1,2,0,01,2,0,0SOS 子序列,共 33 个。

Format

Input

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

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

第二行一个字符串 SS

Output

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

Samples

样例输入

2
4
S*OS
4
S*S*

样例输出

4
3

Limitation

对于 30%30\% 的数据,1T10,1n,n101 \leq T \leq 10, 1 \leq n,\sum n \leq 10

对于 60%60\% 的数据,1T100,1n,n1001 \leq T \leq 100, 1 \leq n, \sum n \leq 100

对于 100%100\% 的数据,$1 \leq T \leq 10^5, 1 \leq n \leq 10^5, 1 \leq \sum n \leq 10^6$,SS 中仅包含 SO* 三种字符。