#include <bits/stdc++.h>
using namespace std;
template <class T>
T abs(T x) {
  return x > 0 ? x : -x;
}
int n, x;
int m, y;
int main() {
  cin >> n >> x >> m >> y;
  if (x > y) {
    swap(x, y);
    swap(n, m);
  }
  long long ans = 1;
  if (x + n < y + m) ans += min((y + m) - (x + n), m);
  if (x - n < y - m) ans += min((y - m) - (x - n), n);
  for (int i = 1; i <= n; i++)
    if (y >= x + i) {
      int d = max(min(i + x - (y - m), 2 * i), 0);
      ans += int(d > 0) + max(d - 1, 0) * 2 - int(d == 2 * i);
    } else {
      int h = (i + x - 1) - y;
      int d = max(min(m - h, y - h - (x - i)), 0);
      ans += int(d > 0) + max(d - 1, 0) * 2 - int(d == y - h - (x - i));
    }
  cout << ans << endl;
  return 0;
}
