#include <iostream>
using namespace std;
bool check(int p, int r, int n, int m){
return (
(n==p-1&&m==r-2)||
(n==p-2&&m==r-1)||
(n==p+1&&m==r-2)||
(n==p+2&&m==r-1)||
(n==p-1&&m==r+2)||
(n==p-2&&m==r+1)||
(n==p+1&&m==r+2)||
(n==p+2&&m==r+1)||
(n==p&&m==r)
);
}
int main() {
int n,m;
cin>>n>>m;
int p,r;
cin>>p>>r;
unsigned long long pre[n+1][m+1];
for(int i=0;i<=n;i++)pre[i][0]=1;
for(int i=1;i<=m;i++)pre[0][i]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(check(p,r,i,j)){
pre[i][j]=0;
continue;
}
pre[i][j]=pre[i-1][j]+pre[i][j-1];
}
}
cout<<pre[n][m]<<endl;
return 0;
}