#include <iostream>
using namespace std;
long long a[25][25];
int n,m,c,d;
bool ju(int x,int y)
{
if(x==c-1 && y==d-2)
return false;
if(x==c-1 && y==d+2)
return false;
if(x==c-2 && y==d-1)
return false;
if(x==c-2 && y==d+1)
return false;
if(x==c+1 && y==d-2)
return false;
if(x==c+1 && y==d+2)
return false;
if(x==c+2 && y==d-1)
return false;
if(x==c+2 && y==d+1)
return false;
if(x==c && y==d)
return false;
return true;
}
int main()
{
cin>>n>>m>>c>>d;
for(int i=0;i<=n;i++)
{
if(ju(i,0)==true)
a[i][0]=1;
}
for(int i=0;i<=m;i++)
{
if(ju(0,i)==true)
a[0][i]=1;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
a[i][j]=a[i-1][j]+a[i][j-1];
if(ju(i,j)==false)
a[i][j]=0;
}
}
cout<<a[n][m];
return 0;
}