#include <iostream>
#include <cstring>
using namespace std;
long long map[1000][1000];
int main()
{
memset(map,0,sizeof(map));
map[0][0]=1;
long long n,m,x,y;
scanf("%lld%lld%lld%lld",&x,&y,&n,&m);
map[m][n]=-1;
map[m-1][n-2]=-1;
map[m-2][n-1]=-1;
map[m+1][n-2]=-1;
map[m+2][n-1]=-1;
map[m+1][n+2]=-1;
map[m+2][n+1]=-1;
map[m-1][n+2]=-1;
map[m-2][n+1]=-1;
if(map[0][0]==-1)
{
printf("0");
exit(0);
}
for(int i=1;i<=x;i++)
{
if(map[0][i]==-1)
{
map[0][i]=0;
break;
}
else
{
map[0][i]+=map[0][i]+map[0][i-1];
}
}
for(int i=1;i<=y;i++)
{
if(map[i][0]==-1)
{
map[i][0]=0;
break;
}
else
{
map[i][0]=map[i][0]+map[i-1][0];
}
}
for(int i=1;i<=x;i++)
{
for(int j=1;j<=y;j++)
{
if(map[j][i]==-1)
{
map[j][i]=0;
continue;
}
else
{
map[j][i]+=map[j-1][i]+map[j][i-1];
}
}
}
printf("%lld",map[y][x]);
}