#arc0082. [arc008_2]謎のたこ焼きおじさん

[arc008_2]謎のたこ焼きおじさん

問題文

あなたはたこ焼きを買いに来たところ、伝説のたこ焼きマスター高橋社長に認められ、新しく作るたこ焼き屋さんの店長を任されました。
店長に任命されたあなたに与えられた最初の仕事は、お店の看板を作成することでした。
ところが高橋社長は使えない時間がないので、たこ焼き屋さんの名前は決めましたが、看板を作るのはあなたに任せて去って行きました。
その際に看板を作るための英字ブロックが入ったいくつかのキットを渡されました。
英字キットとは、ランダムな英字ブロックが含まれている袋のことです。
例えば英字キットを表す文字列が ABCCABCC であるような英字キットの場合、

  • 英字ブロックA11つ含まれている。
  • 英字ブロックB11つ含まれている。
  • 英字ブロックC22つ含まれている。

とみなすことができます。
つまり、英字キット ABCCABCC 11 袋につき、英字ブロックAと英字ブロックB11つずつ、英字ブロックC22つを看板に用いることができます。
高橋社長から渡された英字キットは全て同じ英字キットだったので、どのキットを開けても中身は全く同じです。
あなたは看板にお金をかけるわけにもいかないので、開封する英字キットを最小にして残りは返品したいです。
どれだけの英字キットを使うことで、お店の看板を作ることができるでしょうか。


入力

入力は以下の形式で標準入力から与えられる。NN MM namename kitkit

  • 入力は 33 行ある。
  • 11 行目にお店の名前の文字数 N(1N50)N\\ (1≦N≦50) と、英字キット 11 袋に入ってる英字ブロックの数 M(1M50)M\\ (1≦M≦50) が空白区切りで与えられる。
  • 22 行目にはお店の名前を表す文字列 namenameNN 文字で与えられる。
    • 文字列 namename に含まれる文字は A-Z のみである。
  • 33 行目には英字キットに含まれている英字ブロックを表す文字列 kitkitMM 文字で与えられる。
    • 文字列 kitkit に含まれる文字は A-Z のみである。

出力

看板をつくるために必要な英字キットの最小数を標準出力に 11 行で出力すること。
与えられた英字キットで看板を作成することができない場合は、-1を出力すること。
また、出力の最後には改行をいれること。


入力例 1


7 26
NAOHIRO
ABCDEFGHIJKLMNOPQRSTUVWXYZ

出力例 1


2
  • 英字キット ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ には英字ブロックO11 つしかないため、お店の名前 NAOHIRONAOHIRO を作成するためには英字キットを 22 袋用いる必要があります。

入力例 2


8 8
TAKOYAKI
TAKOYAKI

出力例 2


1
  • 英字キット TAKOYAKITAKOYAKI11 袋用いると、お店の名前 TAKOYAKITAKOYAKI を作成することができます。

入力例 3


8 4
CHOKUDAI
MYON

出力例 3


-1
  • 英字キット MYONMYON では英字ブロックC``H``K``U``D``A``Iが足りないため、お店の名前 CHOKUDAICHOKUDAI を作成することができません。
  • よって、-1を出力します。

入力例 4


6 6
MONAKA
NAMAKO

出力例 4


1
  • 英字キット NAMAKONAMAKO に含まれる英字ブロックN``A``M``A``K``Oを入れ替えると、お店の名前 MONAKAMONAKA を作成することができます。

Source Name

ARC 008