#include <stdio.h>
int abs(int a, int b) {
if (a > b) {
return a - b;
} else
return b - a;
}
int IsHouse(int x1, int y1, int x2, int y2) {
if ((abs(x1, x2) == 1 && abs(y1, y2) == 2) || (abs(x1, x2) == 2 && abs(y1, y2) == 1)) return 1;
else return 0;
}
int Route(int x1, int y1, int x2, int y2) {
int N;
if (x1 == 0 && y1 == 0) return 0;
while (x1 != 0 || y1 != 0) {
if (x1 == 0 && y1 == 1) return 1;
if (x1 == 1 && y1 == 0) return 1;
if (IsHouse(x1, y1, x2, y2)) return 0;
if (x1 == 0) return Route(0, y1 - 1, x2, y2);
if (y1 == 0) return Route(x1 - 1, 0, x2, y2);
return Route(x1 - 1, y1, x2, y2) + Route(x1, y1 - 1, x2, y2);
}
}
int main() {
int x1, y1, x2, y2, N;
scanf("%d %d %d %d", & x1, & y1, & x2, & y2);
N = Route(x1, y1, x2, y2);
printf("%d\n", N);
return 0;
}