#include <stdio.h>
#define int long long
int dx[8] = {-2, -2, -1, -1, 1, 1, 2, 2};
int dy[8] = {1, -1, -2, 2, -2, 2, 1, -1};
void set_the_map(int map[30][30], int n, int m, int h1, int h2)
{
map[h1][h2] = 1;
int nx, ny;
for (int i = 0; i < 8; i++)
{
nx = h1 + dx[i];
ny = h2 + dy[i];
if (nx >= 0 && ny >= 0 && nx <= n && ny <= m)
{
map[nx][ny] = 1;
}
}
}
signed main()
{
int map[30][30] = {0}, count[30][30] = {0};
int h1, h2, n, m;
scanf("%lld %lld %lld %lld", &n, &m, &h1, &h2);
set_the_map(map, n, m, h1, h2);
for (int i = 0; i <= n; i++)
{
for (int j = 0; j <= m; j++)
{
if (map[i][j])
{
continue;
}
else
{
else if (i * j == 0)
{
count[i][j] = 1;
}
else
{
count[i][j] = count[i - 1][j] + count[i][j - 1];
}
}
}
}
printf("%lld", count[n][m]);
}