import java.util.*;
public class Main
{
static final int N = (int) 1e3 + 10;
static final Scanner sc = new Scanner(System.in);
int[][] f = new int[N][N];
public static void main(String[] args)
{
Main main = new Main();
main.work();
}
void work()
{
int n = sc.nextInt();
String a = '!' + sc.next();
int m = sc.nextInt();
String b = '!' + sc.next();
for (int i = 1; i <= n; i++) f[i][0] = i;
for (int i = 1; i <= m; i++) f[0][i] = i;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= m; ++j)
{
f[i][j] = Math.min(f[i - 1][j], f[i][j - 1]) + 1;
f[i][j] = Math.min(f[i][j], f[i - 1][j - 1] + (a.charAt(i) != b.charAt(j) ? 1 : 0));
}
System.out.println(f[n][m]);
}
}