P0508

[Usaco2010 Dec]Letter 恐吓信

[Usaco2010 Dec]Letter 恐吓信

FJ 刚刚和邻居发生了一场可怕的争吵,他咽不下这口气,决定匿名发给他的邻居一封脏话连篇的信。

他有无限张完全相同的、已经打印好的信件,每张都包含 nn 个字母。他想剪出其中一些片段并且粘贴成一个很长的字母串。FJ 太懒了,他想用最少的次数裁剪信件。他有一把举世无双的剪刀,可以从一封信中只剪一刀剪出连续的一段;同样,剪一刀也可以得到整个完整的字符串。

他想知道,他最少需要剪多少刀,从而获得这封 mm 个字母的长信?保证这总是可能的。

考虑下面这封 3838 个字母的信:

THEQUICKBROWNFOXDO
GJUMPSOVERTHELAZYDOG

以及 FJ 想要获得的 99 个字母的信:

FOXDOG
DOG

以上分行是为了读入方便,实际上这两封信分别就是 THEQUICKBROWNFOXDOGJUMPSOVERTHELAZYDOG 和 FOXDOGDOG。

由于 FOXDOG 已经存在了,FJ 可以剪一刀得到 FOXDOG;还剩下一个 DOG,FJ 可以选择其中任何一个 DOG 剪下来。因此,他一共要剪 22 刀。

输入格式

第一行两个空格分隔的整数 n,mn, m。

接下来若干行,每行不超过 8080 个字母,拼接起来是 FJ 原来拥有的、长度为 nn 的信。

再接下来若干行,每行不超过 8080 个字母,拼接起来是 FJ 想要写的、长度为 mm 的信。

输出格式

一行一个整数,表示 FJ 获得他想要写的信所需要剪的最少刀数。

样例输入

38 9
THEQUICKBROWNFOXDO
GJUMPSOVERTHELAZYDOG
FOXDOG
DOG

样例输出

2

样例解释

样例即为题目描述中的例子:先剪出 FOXDOG,再剪出 DOG,共 22 刀。

数据范围

  • 1≤n≤5×1041\le n\le 5\times 10^4;
  • 保证一定存在合法的裁剪方案。

来源与许可

本题为 USACO 2010 Dec 试题「Letter 恐吓信」,题面与测试数据整理自 BZOJ 2099。

样例 1

输入

38 9
THEQUICKBROWNFOXDO
GJUMPSOVERTHELAZYDOG
FOXDOG
DOG

输出

2