字符串启蒙
描述
字符串决定出一道比较简单的小姜作为启蒙。
这里有两个字符串的集合S和T(以trie树的形式给出,大小分别为n+1,m+1)。令S中的字符串分别为s0,s1,s2…sn, T中的字符串分别为t0,t1,t2…tm(s0,t0都是空串)。
对于形如si,tj的一对字符串,定义si+tj为将si和tj拼接得到的字符串。求{si+tj∣0≤i≤n,0≤j≤m}中有多少个本质不同的字符串。
两个字符串本质不同当且仅当:它们的长度不同或某一个位置上对应的字符不同。
输入数据
第1行输入为n和m(1≤n,m≤1e6),代表S和T中分别有多少个非空的字符串。
接下来n行输入,每行表示S中的一个字符串,第i行的输入为一个整数和一个字符: pre,ch。(0≤pre<i, ch 是小写字符),表示si=spre+ch。
接下来m行输入,每行表示T中的一个字符串,第j行的输入为一个整数和一个字符: pre,ch。(0≤pre<i, ch 是小写字符),表示si=spre+ch。
输出数据
输出一个整数,表示能拼接出的本质不同字符串的数量。
样例输入1
3 2
0 a
1 b
2 a
0 a
1 a
样例输出1
8
样例解释1
能被拼接出的字符串分别是:ϕ,a,aa,aaa,ab,aba,abaa,abaaa
样例输入2
5 5
0 a
1 a
2 a
1 b
4 a
0 b
0 a
1 a
1 b
4 a
样例输出
28