#include <bits/stdc++.h>
using namespace std;
long long max(long long a, long long b) {
  if (a > b)
    return a;
  else
    return b;
}
long long min(long long a, long long b) {
  if (a < b)
    return a;
  else
    return b;
}
long long power(long long B, long long P) {
  if (P == 0) return 1;
  long long X = power(B, P / 2);
  if (P % 2 == 0)
    return X * X;
  else
    return B * X * X;
}
long long fx4[] = {1, -1, 0, 0};
long long fy4[] = {0, 0, 1, -1};
int main() {
  long long T, N, M, X, Y, W, K, Q, R, P;
  cin >> N >> M;
  long long e1 = 0, o1 = 0, e2 = 0, o2 = 0;
  for (int i = 1; i <= N; i++) {
    cin >> X;
    if (X % 2)
      o1++;
    else
      e1++;
  }
  for (int i = 1; i <= M; i++) {
    cin >> X;
    if (X % 2)
      o2++;
    else
      e2++;
  }
  cout << (min(e1, o2) + min(o1, e2)) << endl;
  return 0;
}
