#include <bits/stdc++.h>
using namespace std;
int q[100010][100010];
int go[8][2] = {{1,2},{2,1},{-1,2},{2,-1},{1,-2},{-2,1},{-1,-2},{-2,-1}};
int main()
{
int n,m,x,y;
cin >> n >> m >> x >> y;
n++;
m++;
x++;
y++;
q[x][y] = -1;
for(int i = 0; i < 8; i++)
{
if((x + go[i][0] > 0 && x + go[i][0] < n) && (y + go[i][1] > 0 && y + go[i][1] < m))
q[x + go[i][0]][y + go[i][1]] = -1;
}
for(int i = 1; i <= n; i++)
{
if(q[i][1] != -1)
q[i][1] = 1;
}
for(int i = 1; i <= m; i++)
{
if(q[1][i] != -1)
q[1][i] = 1;
}
for(int i = 2; i <= n; i++)
{
for(int j = 2; j <= m; j++)
{
if(q[i][j] != -1)
{
if(q[i-1][j] > 0)
q[i][j] += q[i - 1][j];
if(q[i][j-1] > 0)
q[i][j] += q[i][j - 1];
}
}
}
cout << q[n][m] << endl;
return 0;
}