#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,m,a,b;
int f[21][21];
bool g[21][21] = {0};
cin >> n >> m >> a >> b;
if(a == 0 && b == 0)
{
cout << "0";
return 0;
}
else if(a == 0)
{
g[a][b] = 1;
g[a+1][b-2] = 1;
g[a+2][b-1] = 1;
g[a+2][b+1] = 1;
g[a+1][b+2] = 1;
}
else if(b == 0)
{
g[a][b] = 1;
g[a-1][b+2] = 1;
g[a-2][b+1] = 1;
g[a-2][b-1] = 1;
g[a-1][b-2] = 1;
}
else
{
g[a][b] = 1;
g[a+1][b-2] = 1;
g[a+2][b-1] = 1;
g[a+2][b+1] = 1;
g[a+1][b+2] = 1;
g[a-1][b+2] = 1;
g[a-2][b+1] = 1;
g[a-2][b-1] = 1;
g[a-1][b-2] = 1;
}
for(int i = 0; i <= n; i++)
{
for(int j = 0; j <= m; j++)
{
if(g[i][j] == 1)
{
f[i][j] = 0;
}
else if(i == 0 && j == 0 && g[0][0] == 0)
{
f[i][j] = 1;
}
else if(j == 0 && i > 0 && g[i][0] == 0)
{
f[i][0] = f[i - 1][0];
}
else if(i == 0 && j > 0 && g[0][j] == 0)
{
f[0][j] = f[0][j - 1];
}
else if(i > 0 && j > 0)
{
f[i][j] = f[i - 1][j] + f[i][j - 1];
}
}
}
cout << f[n][m];
return 0;
}