#include<iostream>
using namespace std;
const int N = 30;
const int dx[8] = { 1,1,-1,-1,2,2,-2,-2 };
const int dy[8] = { 2,-2,2,-2,1,-1,1,-1 };
long long f[N][N] = { 0 };
int n, m, x, y;
bool vis[N][N];
int main() {
cin >> n >> m >> x >> y;
vis[0][0] = 1;
vis[x][y] = 1;
for (int i = 0; i < 8; i++) {
int xx = x + dx[i], yy = y + dy[i];
vis[xx][yy] = 1;
}
f[0][0] = 1;
for (int i = 0; i <= n; i++) {
for (int j = 0; j <= m; j++) {
if (!vis[i][j]) {
if (i - 1 < 0) {
f[i][j] = f[i][j - 1];
}
if (j - 1 < 0) {
f[i][j] = f[i - 1][j];
}
else {
f[i][j] = f[i - 1][j] + f[i][j - 1];
}
}
}
}
cout << f[n][m];
return 0;
}