蜗蜗起初有一个空字符串 ,面前有按顺序编号的 个袋子。第 个袋子里装有 个字符串。
他必须按编号从小到大处理每个袋子。处理一个袋子时,可以花 元,从中选择恰好一个字符串接到 的末尾;也可以跳过这个袋子。一个袋子不能选择多个字符串,已经处理过的袋子也不能返回。
给定目标字符串 。求最后使 所需的最少费用;如果无法做到,输出 。
第一行包含目标字符串 。
第二行包含一个整数 ,表示袋子数量。
接下来 行,第 行先给出整数 ,再给出这个袋子中的 个字符串 。
输出一行一个整数,表示最少费用;无法得到 时输出 。
ab
2
2 a z
1 b
2
abc
2
1 ab
1 c
2
样例 1 中,从第一个袋子选 a,从第二个袋子选 b,花费 元得到 ab。
样例 2 中,依次选择 ab 和 c,花费 元得到 abc。
对于 100% 的数据,保证 ,,,;所有字符串均只含小写英文字母。