spoj#STRDIST. String Distance

String Distance

Let A = a1a2...ak and B = b1b2...bl be strings of lengths k and l, respectively. The string distance between A and B is defined in the following way (d[i,j] is the distance of substrings a1...ai and b1...bj, where 0 ≤ i ≤ k and 0 ≤ j ≤ l -- i or j being 0 represents the empty substring). The definition for d[i, j] is d[0, 0] = 0 and for (i, j) ≠ (0, 0) d[i, j] is the minimum of all that apply:

  • d[i, j - 1] + 1, if j > 0
  • d[i - 1, j] + 1, if i > 0
  • d[i - 1, j - 1], if i > 0, j > 0, and ai = bj
  • d[i - 1, j - 1] + 1, if i > 0, j > 0, and ai ≠ bj
  • d[i - 2, j - 2] + 1, if i ≥ 2, j ≥ 2, ai = bj-1, and ai-1 = bj

The distance between A and B is equal to d[k,l].

For two given strings A and B, compute their distance knowing that it is not higher than 100.

Input

In the first line, k and l are given, giving the lengths of the strings A and B (1 ≤ k, l ≤ 105). In the second and third lines strings A and B, respectively, are given. A and B contain only lowercase letters of the English alphabet.

Output

In the first line, write one number, the distance between A and B, followed by a newline.

Example

Input:
8 8
computer
kmpjutre

Output:
4