:我去,初音——!
:啊?哪有大葱?
:是那个边喊着Saki酱边爬的初音!
题目描述
Uika 有一个字符串 ss ,Hatsune 有一个字符串 tt ,她们分别在 ss 和 tt 中各取一个非空子串 s′,t′s′,t′ ,再将两个字符串拼接得到一个新的字符串 s′+t′s′+t′ 。
Uika 和 Hatsune 想知道有多少种不同的选取方法可以使得拼接后的新字符串为回文串。
在一种选取方法中,在 ss 中选取的子串 s′s′ 位于 ss 的 [l1,r1][l1,r1] 区间内,在 tt 中选取的子串 t′t′ 位于 tt 的 [l2,r2][l2,r2] 区间内,我们记为四元组 (l1,r1,l2,r2)(l1,r1,l2,r2) ,两种选取方法是不同的当且仅当两个四元组之间有至少一个元素不同。
由于这个数字可能很大,因此你需要输出答案对 109+7109+7 取模后的结果。
第一行输入一个正整数 T(1≤T≤2×105)T(1≤T≤2×105) ,表示数据组数。
对于每一组数据:
第一行输入两个整数 n,m(1≤n,m≤2×105)n,m(1≤n,m≤2×105) ,分别表示字符串 s,ts,t 的长度。
第二行输入一个仅包含小写字母的字符串 ss 。
第三行输入一个仅包含小写字母的字符串 tt 。
数据保证 ∑n≤2×106,∑m≤2×106∑n≤2×106,∑m≤2×106 。
2
2 2
ab
ab
3 1
aaa
a
4
6