#include <bits/stdc++.h>
using namespace std;
const int INF = int(1e9) * 2;
const long long INFll = 1ll * INF * INF;
const int MOD = 1000000007;
template <class T>
istream& operator>>(istream& in, vector<T>& a) {
  for (int i = 0; i < a.size(); ++i) in >> a[i];
  return in;
}
template <class T>
ostream& operator<<(ostream& o, vector<T>& a) {
  for (int i = 0; i < a.size(); ++i) o << a[i] << " ";
  return o;
}
int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(0);
  int n, m, x, y;
  cin >> n >> m >> x >> y;
  vector<int> a(n), b(m);
  cin >> a >> b;
  int j = 0;
  int ans = 0;
  vector<int> used(m, -1);
  for (int i = 0; i < n; ++i) {
    while (j + 1 < m && abs(a[i] - b[j]) > abs(a[i] - b[j + 1])) j++;
    if (j == m) continue;
    if (used[j] == -1) {
      used[j] = i;
      ans++;
    } else {
      if (abs(a[i] - b[j]) == abs(a[used[j]] - b[j]))
        ans++;
      else {
        if (j + 1 < m && abs(a[i] - b[j]) == abs(a[i] - b[j + 1])) {
          j++;
          used[j] = i;
          ans++;
        } else
          used[j] = i;
      }
    }
  }
  cout << n - ans;
  if (0) cerr << "\nTIME = " << clock() << "\n";
  return 0;
}
