
#include <vector>
#include <iostream>
#include <algorithm>
#include<map>
using namespace std;
int fun(vector<int> a, vector<int> b, double sum1, double sum2)
{
int num = 0;
map<int, int> am, bm;
int n = a.size(), m = b.size();
double av1 = sum1 / n, av2 = sum2 / m;
for (int i = 0; i < n; i++)
am[a[i]] = i;
for (int i = 0; i < b.size(); i++)
{
if (b[i] > av1&&b[i] < av2)
{
map<int, int>::iterator it = am.find(b[i]);
if (it == am.end() && m>1)
{
num++;
sum1 += b[i];
sum2 -= b[i];
av1 = sum1 / ++n;
av2 = sum2 / --m;
}
}
}
return num;
}
int main() {
int numberB, numberA;
cin >> numberA >> numberB;
vector<int> A(numberA);
vector<int> B(numberB);
double sumA = 0, sumB = 0;
for (int i = 0; i < numberA; i++)
{
cin >> A[i];
sumA += A[i];
}
for (int i = 0; i < numberB; i++)
{
cin >> B[i];
sumB += B[i];
}
sort(A.begin(), A.end());
sort(B.begin(), B.end());
double avA = sumA / numberA;
double avB = sumB / numberB;
if (avA < avB)
cout << fun(A, B, sumA, sumB);
else
cout << fun(B, A, sumB, sumA);
}