#include<iostream>
using namespace std;
int main()
{
int ma[20][20],n,m,j,i; //(j,i)马的坐标
cin>>n>>m>>j>>i;
for(int x=0;x<=n;x++)
{
for(int y=0;y<=m;y++)
{
if(x==0&&y==0)
ma[x][y]=1;//起点有1种
else if(((x-j)^2+(y-i)^2==5)||x==n&&y==m)
ma[x][y]=0; //马及其控制的点为0种
else if(x==0&&y>=1)
ma[x][y]=ma[x][y-1];//行
else if(y==0&&x>=1)
ma[x][y]=ma[x-1][y];//列
else
ma[x][y]=ma[x-1][y]+ma[x][y-1];//中间
}
}
cout<<ma[n][m]<<endl;
return 0;
}