#336. 爱心拼图

爱心拼图

题目描述

强哥正在参加一个“爱心拼图”公益活动。
他一开始有一个空的爱心图案 SS
活动提供了编号为 1,2,,N1,2,\dots,N 的若干个爱心材料包,每个材料包中装有若干爱心碎片。
材料包 ii 中有 AiA_i 个爱心碎片,分别为 Si,1,Si,2,,Si,AiS_{i,1},S_{i,2},\dots,S_{i,A_i}

接下来,强哥需要按顺序对每个材料包进行如下操作:

  • 从以下两种行为中任选其一:
    • 花费 11 点爱心值,从材料包 ii 中恰好选择一个爱心碎片,将其拼接到爱心图案 SS 的末尾。
    • 什么都不做。

给定目标爱心图案 TT,请你求出强哥最终使 SSTT 完全相同所需的最小爱心值。
如果无论如何都无法使最终的 SSTT 相同,请输出 1-1

输入格式

输入按以下格式从标准输入给出。

TT NN A1A_1 S1,1S_{1,1} S1,2S_{1,2} \dots S1,A1S_{1,A_1} A2A_2 S2,1S_{2,1} S2,2S_{2,2} \dots S2,A2S_{2,A_2} \vdots ANA_N SN,1S_{N,1} SN,2S_{N,2} \dots SN,ANS_{N,A_N}

输出格式

请输出一个整数,表示所需的最小爱心值。

输入输出样例 #1

输入 #1

abcde
3
3 ab abc abcd
4 f c cd bcde
2 e de

输出 #1

2

输入输出样例 #2

输入 #2

abcde
3
2 ab abc
3 f c bcde
1 e

输出 #2

-1

输入输出样例 #3

输入 #3

aaabbbbcccc
6
2 aa aaa
2 dd ddd
2 ab aabb
4 bbaa bbbc bbb bbcc
2 cc bcc
3 ccc cccc ccccc

输出 #3

4

说明/提示

限制条件

  • TT 是一个长度在 11100100 之间的仅包含小写英文字母的字符串。
  • NN11100100 之间的整数。
  • AiA_i111010 之间的整数。
  • Si,jS_{i,j} 是长度在 111010 之间的仅包含小写英文字母的字符串。

样例解释 1

例如,可以按如下方式用 22 点爱心值使最终的爱心图案 SSTT 相同,并且这就是所需爱心值的最小值。

  • 对于材料包 11,选择爱心碎片 abc,拼接到 SS 的末尾。此时 S=S= abc
  • 对于材料包 22,什么都不做。
  • 对于材料包 33,选择爱心碎片 de,拼接到 SS 的末尾。此时 S=S= abcde

样例解释 2

无论如何都无法使最终的爱心图案 SSTT 相同,因此请输出 1-1