#include <bits/stdc++.h>
using namespace std;
const int N = 100005;
long long mod = 1e9 + 7;
long long GCD(long long x, long long y) {
  if (!y) return x;
  return GCD(y, x % y);
}
long long LCM(long long x, long long y) { return (x * y) / GCD(x, y); }
void solve() {
  long long n, m = 0, k = 0, i = 1, j, p, f, x, y, z;
  long long ans = 0, sum = 0;
  long long a[N] = {};
  cin >> n >> m;
  long long e1 = 0, e2 = 0, o1 = 0, o2 = 0;
  for (i = 0; i < n; i++) {
    cin >> j;
    if (j % 2 == 0)
      e1++;
    else
      o1++;
  }
  for (i = 0; i < m; i++) {
    cin >> j;
    if (j % 2 == 0)
      e2++;
    else
      o2++;
  }
  cout << min(o1, e2) + min(e1, o2);
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  int t = 1;
  while (t--) solve();
  return 0;
}
