//2024.7.22 ljl luogu P1002 [NOIP2002 普及组] 过河卒
#include <bits/stdc++.h>
using namespace std;
int n, m, mx, my;
int fx[9] = {0, 2, -1, 1, 2, 2, 1, -1, 2};
int fy[9] = {0, 1, 2, 2, 1, -1, -2, -2, -1};
long long f[40][40];//记录路径条数
bool s[40][40];//记录此点是否会被马拦截
int main() {
cin >> n >> m >> mx >> my;
n += 2;
m += 2;
mx += 2;
my += 2; //马有时候会走两步,+2防止数组越界
f[2][1] = 1;
s[mx][my] = 1;
for (int i = 1; i <= 8; i++)
s[mx + fx[i]][my + fy[i]] = 1;
for (int i = 2; i <= n; i++) {
for (int j = 2; j <= m; j++) {
if (s[i][j])
continue;
f[i][j] = f[i - 1][j] + f[i][j - 1];
}
}
cout << f[n][m];
return 0;
}