#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
using namespace std;
typedef pair<int,int> PII;
typedef long long LL;
const int N = 25;
LL f[N][N];//答案比较大
int n,m;
int sx,sy;
map<PII,int> horse;//记录马能到达的地方
int main()
{
cin >> n >> m >> sx >> sy;
int dx [8] = {-1,-2,-2,-1,1,2,2,1};
int dy [8] = {-2,-1,1,2,2,1,-1,-2};
horse[{sx,sy}] = 1;//注意马的起始点也要算上
for(int i = 0;i < 8;i++)
{
int a = sx + dx[i] , b = sy + dy[i];
horse[{a,b}] = 1;
}
//f[i][j] 表示走到(i,j)的合法方案数
for(int i = 1;i <= n;i++)
{
if(horse.count({i,0})) break;
f[i][0] = 1;
}
for(int i = 1;i <= m;i++)
{
if(horse.count({0,i})) break;
f[0][i] = 1;
}
for(int i = 1;i <= n;i++)
{
for(int j = 1;j <= m;j++)
{
if(horse.count({i,j})) continue;
f[i][j] = f[i-1][j] + f[i][j-1];
}
}
cout << f[n][m] << endl;
return 0;
}