AT_abc344_d [ABC344D] String Bags

Description

[problemUrl]: https://atcoder.jp/contests/abc344/tasks/abc344_d あなたは最初、空文字列 $ S $ を持っています。 さらに、文字列がいくつか入った袋 $ 1,2,\dots,N $ があります。 袋 $ i $ には $ A_i $ 個の文字列 $ S_{i,1},S_{i,2},\dots,S_{i,A_i} $ が入っています。 これから、以下の手順を $ i=1,2,\dots,N $ について繰り返します。 - 以下のふたつの行動のうち、どちらかを選択して行う。 - $ 1 $ 円を支払い、袋 $ i $ からちょうどひとつの文字列を選択して $ S $ の末尾に連結する。 - 何もしない。 文字列 $ T $ が与えられるとき、最終的に $ S $ と $ T $ を一致させるために必要な最小の金額を求めてください。 但し、どのようにしても最終的な $ S $ を $ T $ に一致させることができない場合、 `-1` と出力してください。

Input 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 Format

答えを整数として出力せよ。

Explanation/Hint

### 制約 - $ T $ は長さ $ 1 $ 以上 $ 100 $ 以下の英小文字からなる文字列 - $ N $ は $ 1 $ 以上 $ 100 $ 以下の整数 - $ A_i $ は $ 1 $ 以上 $ 10 $ 以下の整数 - $ S_{i,j} $ は長さ $ 1 $ 以上 $ 10 $ 以下の英小文字からなる文字列 ### Sample Explanation 1 例えば、以下のようにすると $ 2 $ 円で最終的な $ S $ と $ T $ を一致させることができ、これが必要な金額の最低値であることが示せます。 - $ i=1 $ について、袋 $ 1 $ から `abc` を選択し $ S $ の末尾に連結する。 $ S= $ `abc` となる。 - $ i=2 $ について、何もしない。 - $ i=3 $ について、袋 $ 3 $ から `de` を選択し $ S $ の末尾に連結する。 $ S= $ `abcde` となる。 ### Sample Explanation 2 どのようにしても最終的な $ S $ と $ T $ を一致させることができないので、 `-1` と出力してください。