大家有思路吗,帮我指导指导

题目描述
Kri 非常喜欢字符串,所以他准备找t组字符串研究。
第 次研究中, Kri 准备了两个字符串S和R,其中S 长度为n ,且只由 0 , 1 , - 三种字符构成
(注:这里的第三种字符是减号), R初始时为空 。
每次研究,Zay 会带着一个美丽的长度为m的字符串T来找 Kri 玩,Kri 非常羡慕 Zay 拥有如此美丽的
字符串,便也想用字符串 S和 R变出字符串T 。
具体地, Kri 将会进行 n次操作。每次操作中, Kri 会取出S 的第一个字符(记为 c),并将其从S 中
删去。如果c= - ,则 Kri 要删去 R的开头字符或结尾字符(数据保证删去后R 不为空)。否则,
Kri 会将c 加入到R 的末尾。
当进行完所有操作后, Kri 会检查R 是否和T 相等。如果 R=T, Kri 就会感到开心;否则, Kri 会
感到难受。
请问在每次研究中, Kri 有多少种操作方式使自己最后感到开心?我们定义两种方案不同,当且仅当在
某种方案的某次操作中, Kri 删去了R 的开头字符。而在另一种方案的这次操作中, Kri 删去了 R的结
尾字符。
由于答案可能很大,你只需要输出答案除以 1000000007的余数。
输入格式
第一行一个正整数 。
接下来有 组数据分别表示 次字符串的研究,对于每组数据:
第一行有两个正整数 ,分别表示字符串 的长度。
第二行是字符串 。
第三行是字符串 。
输出格式
共 行,第 行表示第 组研究的答案。
输入输出样例
样例1输入
3
6 2
10-01-
01
7 3
010-1-1
101
6 4
111-00
1100
样例1输出
2
1
2

I dont know too;
我也不会