#include <bits/stdc++.h>
const int N = 20 + 10;
using namespace std;
int n, m, x, y;
long long f[N][N];
bool g[N][N];
int c[9] = {0, 1, 1, -1, -1, 2, 2, -2, -2},
d[9] = {0, -2, 2, -2, 2, 1, -1, -1, 1};
int main()
{
cin >> n >> m >> x >> y;
memset(g, 1, sizeof(g));
g[x][y] = 0;
for (int i = 1; i <= 8; ++ i)
{
if (x + c[i] < 0 || y + d[i] < 0) continue;
g[x + c[i]][y + d[i]] = false;
}
f[0][0] = 1;
for (int i = 1; i <= m; ++ i)
{
if (g[0][i] == 0) break;
else f[0][i] = f[0][i - 1];
}
for (int i = 1; i <= n; ++ i)
{
if (g[i][0] == 0) break;
else f[i][0] = f[i - 1][0];
}
for (int i = 1; i <= n; ++ i)
for (int j = 1; j <= m; ++ j)
if (g[i][j]) f[i][j] = f[i - 1][j] + f[i][j - 1];
cout << f[n][m] << endl;
return 0;
}