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

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

问题文

你来买章鱼烧,结果被传说中的章鱼烧大师高桥社长认可,并被任命为新开的章鱼烧店的店长。
作为被任命为店长的你,首要任务是制作店铺招牌。
然而,高桥社长没时间帮忙制作招牌,他已经决定了章鱼烧店的名字,然后就离开了,把制作招牌的任务交给了你。
在那时,他给了你一些包含英文字母方块的套装,用于制作招牌。
英文字母套装是指包含随机英文字母方块的袋子。
例如,对于表示英文字母套装的字符串 ABCCABCC,可以理解为:

  • 包含英文字母方块A的个数为1个。
  • 包含英文字母方块B的个数为1个。
  • 包含英文字母方块C的个数为2个。

也就是说,根据英文字母套装 ABCCABCC,每袋英文字母套装中可以使用1个英文字母方块A、1个英文字母方块B和2个英文字母方块C来制作招牌。
由于高桥社长给的英文字母套装都是相同的,无论打开哪个套装,里面的内容都完全一样。
你不能花太多钱制作招牌,所以希望尽可能少地打开英文字母套装,剩下的可以退货。
请问最少需要使用多少个英文字母套装就能够制作店铺的招牌呢?


输入

输入以以下格式从标准输入中给出: NN MM
namename
kitkit

  • 输入共有3行。
  • 第1行为店铺名字的字符数 N(1N50)N \\ (1≦N≦50) 和英文字母套装中英文字母方块的数量 M(1M50)M \\ (1≦M≦50),两者用空格分隔。
  • 第2行为店铺名字的字符串 namename,长度为 NN
    • 字符串 namename 中只包含大写字母 A-Z
  • 第3行为英文字母套装中包含的英文字母方块的字符串 kitkit,长度为 MM
    • 字符串 kitkit 中只包含大写字母 A-Z

输出

将需要使用的最少英文字母套装数量以1行输出到标准输出。
如果无法使用给定的英文字母套装制作招牌,则输出-1
输出末尾必须换行。


输入例子 1


7 26
NAOHIRO
ABCDEFGHIJKLMNOPQRSTUVWXYZ

输出例子 1


2
  • 由于英文字母套装 ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 只包含1个英文字母方块O,所以为了制作店铺名字 NAOHIRONAOHIRO,至少需使用2个英文字母套装。

输入例子 2


8 8
TAKOYAKI
TAKOYAKI

输出例子 2


1
  • 使用1个英文字母套装 TAKOYAKITAKOYAKI 就可以制作店铺名字 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

来源名称

ARC 008