#include<bits/stdc++.h>
#define N 21
using namespace std;
long long vist[N][N];
int bx,by,n,m,ans=0;
void dfs(int x,int y){
if(x==n&&y==m){
ans++;
return;
}
if(x>=0&&x<=n&&y>=0&&y<=m&&!vist[x][y]){
vist[x][y]=1;
dfs(x+1,y);
dfs(x,y+1);
vist[x][y]=0;
}
}
int main(){
cin>>n>>m>>bx>>by;
vist[bx][by] = 1;
vist[bx-2][by-1] = 1;
vist[bx-1][by-2] = 1;
vist[bx+1][by-2] = 1;
vist[bx+2][by-1] = 1;
vist[bx-2][by+1] = 1;
vist[bx-1][by+2] = 1;
vist[bx+1][by+2] = 1;
vist[bx+2][by+1] = 1;
dfs(0,0);
printf("%d",ans);
return 0;
}
