#include <stdio.h>
int main()
{
int n, m, hr, hc, pr1, pc1, pr2, pc2;
scanf("%d%d%d%d", &n, &m, &hr, &hc);
long long route[n + 1][m + 1];
for (int i = 0; i <= n; i++)
{
for (int j = 0; j <= m; j++)
{
route[i][j] = 1;
}
}
route[hr][hc] = 0;
for (int i = 1; i <= 2; i++)
{
int j = 3 - i;
pr1 = hr + i;
pr2 = hr - i;
pc1 = hc + j;
pc2 = hc - j;
if (pr1 <= n && pc1 <= m)
{
route[pr1][pc1] = 0;
}
if (pr1 <= n && pc2 >= 0)
{
route[pr1][pc2] = 0;
}
if (pr2 >= 0 && pc1 <= m)
{
route[pr2][pc1] = 0;
}
if (pr2 >= 0 && pc2 >= 0)
{
route[pr2][pc2] = 0;
}
}
for (int a = 1; a <= n; a++)
{
for (int b = 1; b <= m; b++)
{
if (route[a][b] != 0)
{
route[a][b] = route[a - 1][b] + route[a][b - 1];
}
}
}
printf("%lld", route[n][m]);
return 0;
}