#include <bits/stdc++.h>
using namespace std;
long long a, b, m, n;
int dir[9][2] = {{0,0},{2,1},{2,-1},{-2,1},{-2,-1},{1,2},{1,-2},{-1,2},{-1,-2}};
bool used[15][15];
int f(int x,int y)
{
if(used[x][y])
return 0;
if(x==0 && y==0)
return 1;
if(x==0)
return f(x,y-1);
if(y==0)
return f(x-1, y);
int tmp=0;
tmp+=f(x-1,y);
tmp+=f(x,y-1);
return tmp;
}
int main()
{
cin>>m>>n>>a>>b;
for(int i=0;i<=8;i++)
{
int nx=a+dir[i][0],ny=b+dir[i][1];
if(nx>=0&&nx<=m&&ny>=0&&ny<=n)
used[nx][ny]=true;
}
cout<<f(m,n);
return 0;
}