Logo 邂逅编程之美

UOJ

时间限制:2 s 空间限制:2048 MB
Statistics

题目描述

给定两个字符串集 $s$ 和 $t$ ,$s$ 中有 $n$ 个字符串,编号为 $s_1,s_2 ... s_n$ ,$t$ 中有 $m$ 个字符串,编号为 $t_1,t_2 ... t_n$ 。

$$ \sum_{i=1}^{n} \sum_{j=1}^{m} \sum_{x=1}^{n} \sum_{y=1}^{m} (s_i+t_j)\ 是\ (s_x+t_y)\ 的子串 $$

字符串 $a+b$ 指把 $b$ 字符串拼接在字符串 $a$ 后面。

答案对 $10^9+7$ 取模。

输入格式

第一行两个正整数 $n$ ,$m$ 表示 $s$ 和 $t$ 串的个数。

接下来 $n$ 行每行一个字符串 $s_i$ 。

接下来 $m$ 行每行一个字符串 $t_i$ 。

输出格式

一行一个整数最终的答案。

样例

样例输入

2 2
aba
a
c
ba

样例输出

8

样例解释

$i=x\ 且\ j=y$ 时每种组合各有一次贡献

此外有:

a+caba+c 中出现一次

a+baaba+c 中出现一次,在 aba+ba 中出现两次

数据范围

$n,m \leq 10^5$

$\sum|s_i| , \sum|t_i| \leq 10^6$