Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:0.8 s 空间限制:256 MB

#4573. 字符串游戏

统计

题目描述

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

输入格式

输入的第一行包含一个字符串,表示 $L$。第二行包含一个数字 $n$,表示集合 $S$ 中元素个数。

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

输出格式

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

样例

input

aaabccd
3
ac
abc
aaa

output

2
aaabccd
aacd
ad

数据范围与提示

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