3370 - 删除单词

通过次数

1

提交次数

2

时间限制 : 1 秒
内存限制 : 512 MB

小文把杂志上所有的文章摘抄了下来并把它变成了一个长度不超过 10^5 的字符串 s。
他有一个包含 n 个单词的列表,列表里的 n 个单词记为 t1 ⋯ tn。他希望从 s 中删 除这些单词。
小文每次在 s 中找到最早出现的列表中的单词(最早出现指该单词的开始位置最小),然后从 s 中删除这个单词。他重复这个操作直到 s 中没有列表里的单词为 止。注意删除一个单词后可能会导致 s 中出现另一个列表中的单词。
小文注意到列表中的单词不会出现一个单词是另一个单词子串的情况,这意味着每个 列表中的单词在 s 中出现的开始位置是互不相同的。
请帮助小文完成这些操作并输出最后的 字符串s。

输入

第一行是一个字符串,表示文章 s。
第二行有一个整数,表示单词列表的单词个数 n。
第 3 到第 (n + 2) 行,每行一个字符串,第 (i + 2) 行的字符串 ti 表示第 i 个单词。

输出

输出一行一个字符串,表示操作结束后的 s。

样例

输入

begintheescapexecutionatthebreakofdawn 
2 
escape 
execution 

输出

beginthatthebreakofdawn 

提示

【数据范围】
对于全部的测试点,保证:
· 1 ≤ ∣s∣, ∣ti ∣ , n ≤ 10^5。
字符串均只含小写字母。
操作结束后 s 不会被删成空串。
对于所有的 i j ,ti 不是 tj 的子串。
其中对于一个字符串 x,约定 ∣x∣ 表示 x 的长度。
提示
操作过程中 s 有可能某一个前缀子串被完全删除, 请格外注意这一点。