3825 - 基因补全

通过次数

0

提交次数

0

时间限制 : 1 秒
内存限制 : 128 MB

在生物课中我们学过,碱基组成了DNA(脱氧核糖核酸),他们分别可以用大写字母A,C,T,G表示,其中A总与T配对,C总与G配对。两个碱基序列能相互匹配,当且仅当它们等长,并且任意相同位置的碱基都是能相互配对的。例如ACGTC能且仅能与TGCAG配对。一个相对短的碱基序列能通过往该序列中任意位置补足碱基来与一个相对长的碱基序列配对。补全碱基的位置、数量不同,都将视为不同的补全方案。现在有两串碱基序列ST,分别有nm个碱基(n\geq m),问一共有多少种补全方案。

输入

数据包括三行。

第一行有两个整数nm,表示碱基序列的长度。

第二行包含n个字符,表示碱基序列S

第三行包含m个字符,表示碱基序列T

两个碱基序列的字符种类只有A,C,G,T4个大写字母。

输出

答案只包含一行,表示补全方案的个数。

样例

输入

10 3
CTAGTAGAAG
TCC

输出

4

提示

样例解释:
TCC4种补全方案(括号中字符为补全的碱基)
(GA)TC(AT)C(TTC)
(GA)TC(ATCTT)C
(GA)T(CAT)C(TT)C
(GATCA)TC(TT)C

数据范围:
对于30\% 数据,n\leq 1000,m\leq 2
对于50\% 数据,n\leq 1000,m\leq 4
对于100\% 数据,n\leq 2000,m\leq n

来源

JLOI