P24703 [AtCoder] String Bags
普及
题目描述

Problem Statement

You initially have an empty string S.
Additionally, there are bags $1, 2, \dots, N$, each containing some strings.
Bag $i contains A_i strings S_{i,1}, S_{i,2}, \dots, S_{i,A_i}$.
You will repeat the following steps for $i = 1, 2, \dots, N$:

  • Choose and perform one of the following two actions:
  • Pay 1 yen, select exactly one string from bag i, and concatenate it to the end of S.
  • Do nothing.

Given a string T, find the minimum amount of money required to make the final S equal T.
If there is no way to make the final S equal T, print -1.

Input

The input is given from Standard Input in the following format:
T
N
$A_1 S_{1,1} S_{1,2} \dots S_{1,A_1}$
$A_2 S_{2,1} S_{2,2} \dots S_{2,A_2}$
$\vdots$
$A_N S_{N,1} S_{N,2} \dots S_{N,A_N}$

Output

Print the answer as an integer.

Constraints

  • T is a string consisting of lowercase English letters with length between 1 and 100, inclusive.
  • N is an integer between 1 and 100, inclusive.
  • A_i is an integer between 1 and 10, inclusive.
  • S_{i,j} is a string consisting of lowercase English letters with length between 1 and 10, inclusive.

Sample Input 1

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

Sample Output 1

2

For example, doing the following makes the final S equal T with two yen, which can be shown to be the minimum amount required.

  • For i=1, select abc from bag 1 and concatenate it to the end of S, making S= abc.
  • For i=2, do nothing.
  • For i=3, select de from bag 3 and concatenate it to the end of S, making S= abcde.

Sample Input 2

abcde
3
2 ab abc
3 f c bcde
1 e

Sample Output 2

-1

There is no way to make the final S equal T, so print -1.

Sample Input 3

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

Sample Output 3

4

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
abcde 3 3 ab abc abcd 4 f c cd bcde 2 e de
样例输出
2