40pts
#include<bits/stdc++.h>
using namespace std;
int fx[] = {-1, 1, 2, 2, 1,-1,-2, -2};
int fy[] = {-2,-2,-1, 1, 2, 2, 1, -1};
long long bx, by, mx, my, dp[25][25];
bool q[25][25];
int main(){
cin >> bx >> by >> mx >> my;
q[mx][my] = 1;
for(int i = 0; i < 8; i++) {
if((mx + fx[i]) >= 0 && (my + fy[i]) >= 0 && (mx + fx[i]) <= bx && (my + fy[i]) <= by){
q[mx + fx[i]][my + fy[i]] = 1;
//cout << mx + fx[i] << " " << my + fy[i] << endl;
}
}
dp[0][0] = 1;
for(int i = 1; i <= by; i++) dp[0][i] = 1;
for(int i = 1; i <= bx; i++) dp[i][0] = 1;
for(int i = 1; i <= bx; i++){
for(int j = 1; j <= by; j++){
if(q[i][j]) continue;
dp[i][j] = dp[i-1][j] + dp[i][j-1];
}
}
cout << dp[bx][by];
return 0;
}