#include <iostream>
#include <cstdio>
using namespace std;
int fx[] = {0, -2, -1, 1, 2, 2, 1, -1, -2};
int fy[] = {0, 1, 2, 2, 1, -1, -2, -2, -1};
int bx, by, mx, my;
long long mp[40][40];
bool f[40][40];
int main()
{
cin >> bx >> by >> mx >> my;
bx += 2;
by += 2;
mx += 2;
my += 2;
for (int i=0; i<=8; i++)
{
int mjx = mx + fx[i];
int mjy = my + fy[i];
f[mjx][mjy] = 1;
}
for (int i=1; i<=by; i++)
{
if (f[1][i] == 1)
break;
mp[1][i] = 1;
}
for (int i=1; i<=bx; i++)
{
if (f[i][1] == 1)
break;
mp[i][1] = 1;
}
for (int i=2; i<=bx; i++)
{
for (int j=2; j<=by; j++)
{
if (f[i][j] == 1)
mp[i][j] = 0;
else
mp[i][j] = (mp[i-1][j] + mp[i][j-1]);
}
}
cout << mp[bx][by];
return 0;
}