#include<iostream>
#include<algorithm>
using namespace std;
bool vis[22][22];
int bx, by, mx, my;
int fx[8] = {-2, -1, 1, 2, 2, 1, -1, -2 };
int fy[8] = {1, 2, 2, 1, -1, -2, -2, -1 };
int f[22][22];
int main()
{
cin >> bx >> by >> mx >> my;
for (int i = 0; i <=bx; i++)
{
for (int j = 0; j <= by; j++)
{
vis[i][j] = true;
for (int k = 0; k < 8; i++)
{
if (bx + fx[k] == mx && by + fy[k] == my)
{
vis[i][j] = false;
}
}
}
}
f[2][2] = 1;
for (int i = 2; i <= bx+2; i++)
{
for (int j = 2; j <= by+2; j++)
{
if(vis[i-2][j-2])
{
f[i][j] = max(f[i][j], f[i - 1][j] + f[i][j - 1]);
}
}
}
cout << f[bx + 2][by + 2];
}