Given are two strings S and T.

Let us change some of the characters in S so that T will be a substring of S.

At least how many characters do we need to change?

Here, a substring is a consecutive subsequence. For example, `xxx` is a substring of `yxxxy`, but not a substring of `xxyxx`.

Constraints

* The lengths of S and T are each at least 1 and at most 1000.
* The length of T is at most that of S.
* S and T consist of lowercase English letters.

Input

Input is given from Standard Input in the following format:


S
T


Output

Print the minimum number of characters in S that need to be changed.

Examples

Input

cabacc
abc


Output

1


Input

codeforces
atcoder


Output

6
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws Exception {
	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	char S[] = br.readLine().toCharArray();
	char T[] = br.readLine().toCharArray();
	int roop = S.length - T.length + 1;
	int cnt[] = new int[roop];
	int max = 0;
	for (int i = 0; i < roop; i++) {
	    for (int j = 0; j < T.length; j++) {
		if (T[j] == S[i + j]) {
		    cnt[i]++;
		}
	    }
	}

	for (int k = 0; k < cnt.length; k++) {
	    if (max < cnt[k]) {
		max = cnt[k];
	    }
	}

	System.out.println(T.length - max);
    }
}