#include<bits/stdc++.h>
using namespace std;
const int N=30;
int n,m,x,y,dp[N][N];//dp[i][j]表示到mp[i][j]的方法数
bool mp[N][N];
void work(int x,int y){//马范围
mp[x][y]=1;mp[x-2][y-1]=1;mp[x-1][y-2]=1;mp[x-2][y+1]=1;mp[x-1][y+2]=1;mp[x+2][y-1]=1;mp[x+1][y-2]=1;mp[x+2][y+1]=1;mp[x+1][y+2]=1;
}
int main(){
scanf("%d%d%d%d",&n,&m,&x,&y);
n++;m++;x++;y++;
work(x,y);dp[1][1]=1;
for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(!mp[i][j])dp[i][j]+=dp[i-1][j]+dp[i][j-1];
printf("%d",dp[n][m]);
return 0;
}