func_code_string: #include <bits/stdc++.h>   using namespace std;   const int MAXN = 1000 * 100 + 3, inf = 1000 * 1000 * 100;   int n, m, a[MAXN], b[MAXN], t[MAXN], ans = 0, y, z;   int main() {     cin >> n >> m >> y >> z;     for (int i = 0; i < n; i++) cin >> a[i];     b[0] = -inf;     b[m + 1] = inf;     for (int i = 1; i <= m; i++) cin >> b[i];     for (int i = 0; i <= m; i++) t[i] = -1;     for (int i = 0; i < n; i++) {       int ind = lower_bound(b, b + m + 2, a[i]) - b;       int nex = b[ind], prev = b[ind - 1];       if (nex - a[i] < a[i] - prev) {         if (t[ind] != -1) ans++;         t[ind] = nex - a[i];       } else if (nex - a[i] > a[i] - prev) {         if (t[ind - 1] != -1 && t[ind - 1] < a[i] - prev) {           ans++;         } else {           if (t[ind - 1] > a[i] - prev) ans++;           t[ind - 1] = a[i] - prev;         }       } else {         if (t[ind - 1] == -1 || t[ind - 1] == a[i] - prev) {           t[ind - 1] = a[i] - prev;         } else {           t[ind] = nex - a[i];         }       }     }     cout << ans << endl;     return 0;   }   