#1519. 字符串游戏

字符串游戏

题目描述

BX 正在进行一个字符串游戏,他手上有一个字符串 LL,以及其他一些字符串的集合 SS,然后他可以进行以下操作:对于一个在集合 SS 中的字符串 pp,如果 ppLL 中出现,BX 就可以选择是否将其删除,如果删除,则将删除后 LL 分裂成的左右两部分合并。举个例子,L=abcdefgL=\texttt{abcdefg} , S={de}S=\{\texttt{de}\},如果 BX 选择将 de\texttt{de}LL 中删去,则删后的 L=abcfgL=\texttt{abcfg}。现在 BX 可以进行任意多次操作(删的次数,顺序都随意),他想知道最后 LL 串的最短长度是多少。

输入格式

输入的第一行包含一个字符串,表示 LL。第二行包含一个数字 nn,表示集合 SS 中元素个数。

以下 nn 行,每行一个字符串,表示 SS 中的一个元素。输入字符串都只包含小写字母。

输出格式

输出一个整数,表示 LL 的最短长度。

样例

aaabccd
3
ac
abc
aaa
2
aaabccd
aacd
ad

数据范围与提示

L<151|L|<151, S<31|S|<31, SS 中的每个元素 p<21|p|<21