import java.io.OutputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.stream.IntStream; import java.util.StringTokenizer; import java.io.IOException; import java.util.InputMismatchException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.InputStream; /** * Built using CHelper plug-in * Actual solution is at the top */ public class Main { public static void main(String[] args) { InputStream inputStream = System.in; OutputStream outputStream = System.out; InputReader in = new InputReader(inputStream); PrintWriter out = new PrintWriter(outputStream); Task717 solver = new Task717(); solver.solve(1, in, out); out.close(); } static class Task717 { public void solve(int testNumber, InputReader in, PrintWriter out) { int n = in.nextInt(); int m = in.nextInt(); String s = in.nextString(); String t = in.nextString(); long cntAInS = s.chars().filter(c -> c == 'A').count(); long cntBInS = n - cntAInS; long cntAInT = t.chars().filter(c -> c == 'A').count(); long cntBInT = m - cntAInT; out.println(Math.min(cntAInS, cntAInT) + Math.min(cntBInS, cntBInT)); } } static class InputReader { private BufferedReader br; private StringTokenizer st; public InputReader(InputStream inputStream) { br = new BufferedReader(new InputStreamReader(inputStream)); st = new StringTokenizer(""); } public String nextString() { while (!st.hasMoreTokens()) { try { st = new StringTokenizer(br.readLine(), " "); } catch (IOException e) { throw new InputMismatchException(); } } return st.nextToken(); } public int nextInt() { return Integer.parseInt(nextString()); } } }