#include<iostream>
using namespace std;
int main()
{
int g[21][21]={0},n,m,cx,cy;
long long f[21][21]={0};
cin>>n>>m>>cx>>cy;
g[cx][cy]=1;
if(cx+2<=n && cy+1<=m) g[cx+2][cy+1]=1;
if(cx+2<=n && cy-1<=m) g[cx+2][cy-1]=1;
if(cx-2<=n && cy+1<=m) g[cx-2][cy+1]=1;
if(cx-2<=n && cy-1<=m) g[cx-2][cy-1]=1;
if(cx-1<=n && cy+2<=m) g[cx-1][cy+2]=1;
if(cx+1<=n && cy+2<=m) g[cx+1][cy+2]=1;
if(cx-1<=n && cy-2<=m) g[cx-1][cy-2]=1;
if(cx+1<=n && cy-2<=m) g[cx+1][cy-2]=1;
f[0][0]=1;
for(int i=1; i<=n; ++i)
{
if(!g[i][0])
{
f[i][0]=f[i-1][0];
}
else
{
f[i][0]=0;
}
}
for(int j=1; j<=m; ++j)
{
if(!g[0][j])
{
f[0][j]=f[0][j-1];
}
else
{
f[0][j]=0;
}
}
for(int i=1; i<=n; ++i)
{
for(int j=1; j<=m; ++j)
{
if(g[i][j])
{
f[i][j]=0;
}
else
{
f[i][j]=f[i-1][j]+f[i][j-1];
}
}
}
cout<<f[n][m]<<endl;
return 0;
}