#include <iostream>
using namespace std;
bool doorClose[25][25];
long long methodNum[25][25];
int main(){
int n,m,a,b;
cin >> n >> m >> a >> b;
doorClose[a][b]=true;
if((a-1)>=0){
if((b-1)>=0){
doorClose[a-1][b-1]=true;
doorClose[a-1][b]=true;
doorClose[a-1][b+1]=true;
doorClose[a][b-1]=true;
doorClose[a][b+1]=true;
doorClose[a+1][b-1]=true;
doorClose[a+1][b]=true;
doorClose[a+1][b+1]=true;
}
else{
doorClose[a-1][b]=true;
doorClose[a-1][b+1]=true;
doorClose[a][b+1]=true;
doorClose[a+1][b]=true;
doorClose[a+1][b+1]=true;
}
}
else{
if((b-1)>=0){
doorClose[a][b-1]=true;
doorClose[a+1][b-1]=true;
}
doorClose[a][b+1]=true;
doorClose[a+1][b]=true;
doorClose[a+1][b+1]=true;
}
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
if(!doorClose[i][j]){
if((i==1||j==1)&&(!(i==1&&j==1)))
methodNum[i][j]=1;
else
methodNum[i][j]=methodNum[i-1][j]+methodNum[i][j-1];
}
}
}
cout << methodNum[n][m] << endl;
return 0;
}