#include<iostream>
using namespace std;
long long a[30][30], f[30][30], n, m;
void setXY(int x, int y)
{
int dx[8] = { -2,-2,-1,-1,+1,+1,+2,+2 };
int dy[8] = { -1,1,-2,2,-2,2,-1,1 };
for (int i = 0; i <= 8; i++) {
if (x + dx[i] >= 0 && x + dx[i] <= n && y + dy[i] >= 0 && y + dy[i] <= m) {
a[x + dx[i]][y + dy[i]] = -1;
}
}
a[x][y] = -1;
return;
}
int main()
{
int x, y;
cin>>n>>m>>x>>y;
setXY(x, y);
f[0][0] = 1;
for (int i = 1; i <= n; i++) {
if (a[i][0] != -1) f[i][0] = f[i - 1][0];
else f[i][0] = 0;
}
for (int i = 1; i <= m; i++) {
if (a[0][i] != -1) f[0][i] = f[0][i - 1];
else f[0][i] = 0;
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
if (a[i][j] != -1) f[i][j] = f[i - 1][j] + f[i][j - 1];
else f[i][j] = 0;
}
}
cout << f[n][m] << endl;
return 0;
}