//Normal #define _GLIBCXX_DEBUG #define ll long long #include using namespace std; using Graph = vector>; void print(auto a){ cout << a; } void prints(auto a){ cout << a << " "; } void prints(){ cout << " "; } void printl(auto a){ cout << a << endl; } void printl(){ cout << endl; } void fix(int n){ cout << fixed << setprecision(n); } int main(){ int N, M; cin >> N >> M; string S, T; cin >> S >> T; int na = 0, nb = 0, ma = 0, mb = 0; for(int i = 0; i < N; i++) S[i] == 'A' ? na++ : nb++; for(int i = 0; i < M; i++) T[i] == 'A' ? ma++ : mb++; printl(min(na, ma) + min(nb, mb)); return 0; }