蝈蝈最近学了一种新的“拼接单词”,比如”thelp“,是”the“和”help“拼接的结果,所谓拼接,就是将一个单词的后缀和另一个单词的相同的前缀重合覆盖的结果
字符串的前缀是指字符串的任意首部,比如字符串”abbc“的前缀有”a“、”ab“、”abb“、”abbc“。同样,字符串的任意尾部是字符串的后缀,比如”abbc“的后缀有”c“、”bc“、“bbc”、“abbc”
以下是一些拼接的“栗子”:
the + help -> thelp
help + the -> 无法拼接
tenet + ten -> teneten
ten + tenet -> tenet
tenet + tenet -> tenetenet 或者 tenet 都是正确的
现在蝈蝈的手里有一些小写字母各一个,卢宝想(趁机报复性地)考考蝈蝈,于是卢宝给蝈蝈一个单词A,想问蝈蝈能用手里的字母组成多少种单词B,使得A+B能够拼接。由于种类过多,请将答案对1000000007(1e9+7)取模。
单词只由小写字母组成。
一个整数t,表示有t组数据
每组数据两行
第一行一个字符串A,表示卢宝给蝈蝈的单词,长度为lenA。(1≤lenA≤100000)
第二行一个字符串B,表示蝈蝈手里有的字母,长度为lenB。(1≤lenB≤26)(且保证不会出现重复的字母)
两个字符串均只包含小写字母
∑lenA≤1000000
每组数据输出一行整数,表示能组成单词并且能够拼接的种类数,并且对1000000007(1e9+7)取模。
1 tenet ten tip:“ten”表示蝈蝈手里有一个“t”,一个“e”和一个“n”三个字母
4 tip:“ten”、“tne”、“etn”、“net”这四种情况