K. 字符串游戏
time limit per test
2 с
memory limit per test
512 megabytes
input
standard input
output
standard output

小H和小W在玩一个字符串游戏。

具体来说小H有 n 种字符串,小W有 m 种字符串,每一种都有无限个。小H可以从这 n 种无限个字符串中取出任意个来拼成一个长串(不能为空串)。小W可以从这 m 种无限个字符串中取出任意个来拼成一个长串(不能为空串)。如果他们能让这两个串完全相同则游戏成功。

他们想要知道游戏是否能成功,如果能成功,拼成的字符串最短是多长。你能帮帮他们吗?

Input

第一行两个整数 n, m(1 ≤ n, m ≤ 5000)

接下来 n 行每行,每行一个字符串,表示小H手中的字符串。(保证 n 个串长度总和  ≤ 5000,字符是小写字母,没有空串)。

接下来 m 行每行,每行一个字符串,表示小H手中的字符串。(保证 m 个串长度总和  ≤ 5000,字符是小写字母,没有空串)。

Output

一行一个整数,如果不能成功输出  - 1,如果能成功输出长串的最短长度。

Examples
Input
2 3
ab
bc
abc
abb
cabbc
Output
8
Input
2 3
abc
bcd
abcd
a
bcde
Output
-1