问题 CK: 问号子串

内存限制:256 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:310 通过:162

题目描述

   zz有两个字符串s和t。zz希望以这样的方式更改字符串s,以便使s成为t的子字符串。所有的更改都应该如下:

  zz选择字符串s中的一个位置,并将该位置的符号替换为问号 “?”。问号可以起到任意符号的作用。例如,如果他得到字符串s=ab?b”作为结果,它将作为子字符串出现在t=aabrbb”中。 

即问最少修改S 中的几个字符,可将 S变为 T 的子串。

  确保字符串s的长度不超过字符串t的长度。帮助zz尽可能少地替换s中的符号,以便可以在t中找到替换结果作为子字符串。

输入格式

第一行包含两个整数nm1nm1000) − 串s的长度和串t的长度。

第二行包含n个小写英文字母− 字符串s

第三行包含m个小写英文字母− 字符串t

输出格式

输出单个整数k− 需要替换的符号的最小数量。



Examples
Input
3 5
abc
xaybz
Output
2
Input
4 10
abcd
ebceabazcd
Output
1

样例1:s中最少要替换两个字符,第2和第3个字符分别替换成y和b,s变成ayb,为t的子字符串,t从第2个字符到第4个字符为ayb。(其他的替换方法所要替换的字符数都大于等于两个字符,若等于两个字符数则也是符合要求的情况)
样例2:S中只要把1个字符换掉就会成为t的子串,把第2个字符换成z,即可成为t的子串,s变为azcd,t的第7到第10个字符为azcd。

输入样例 复制

3 5
abc
xaybz

输出样例 复制

2