#include<bits/stdc++.h>
using namespace std;
long long dp[21][21],bx,by,mx,my;
bool pd(int x,int y){
if(x==mx&&y==my)return 1;
if(x==mx+1&&y==my+2)return 1;
if(x==mx+2&&y==my+1)return 1;
if(x==mx-1&&y==my+2)return 1;
if(x==mx-2&&y==my+1)return 1;
if(x==mx+1&&y==my-2)return 1;
if(x==mx+2&&y==my-1)return 1;
if(x==mx-1&&y==my-2)return 1;
if(x==mx-2&&y==my-1)return 1;
return 0;
}
int main(){
cin >>bx>>by>>mx>>my;
memset(dp,0,sizeof(dp));
for(int i=0;i<=bx;i++)
dp[i][0]=1;
for(int i=0;i<=by;i++)
dp[0][i]=1;
for(int i=-2;i<=2;i++){
for(int j=-2;j<=2;j++){
if(i==0&&j!=0)continue;
if(abs(i)==2&&abs(j)==2)continue;
if(abs(j)==1&&abs(i)==1)continue;
if(mx-i>=0&&my-j>=0)
dp[mx-i][my-j]=0;
}
}
for(int i=1;i<=bx;i++)
for(int j=1;j<=by;j++)
if(!pd(i,j))
dp[i][j]=dp[i-1][j]+dp[i][j-1];
cout<<dp[bx][by];
return 0;
}