#看一下怎么回事啊
#include<iostream>
using namespace std;
bool qp[21][21];
long long f[21][21];
int main(){
int n,m,a,b,i,j;
scanf("%d %d %d %d",&n,&m,&a,&b);
qp[a][b]=1;
if(a>1 && b!=0) qp[a-2][b-1]=1;
if(a<19 && b!=20) qp[a-2][b+1]=1;
if(a<19 && b!=20) qp[a+2][b+1]=1;
if(a!=0 && b>1) qp[a-1][b-2]=1;
if(a!=0 && b<19) qp[a-1][b+2]=1;
if(a!=20 && b>1) qp[a+1][b-2]=1;
if(a!=20 && b<19) qp[a+1][b+2]=1;
for(i=0;i<=n;i++)
for(j=0;j<=m;j++)
if(qp[i][j]!=1){
if(i==0 && j==0) f[0][0]=1;
else if(i==0 && j>0) f[0][j]=f[0][j-1];
else if(i>0 && j==0) f[i][0]=f[i-1][0];
else f[i][j]=f[i-1][j]+f[i][j-1];
}
printf("%lld\n",f[n][m]);
return 0;
}
