#include<bits/stdc++.h>
using namespace std;
# define maxn 20000
int zb[maxn][maxn];
int cnt,x2,y2;
void lx(int x2,int y2);
int main()
{
int x1,y;
cnt=0;
cin>>x2>>y2>>x1>>y;
memset(zb,0,sizeof(zb));
zb[x1-2][y-1]=-1;zb[x1-1][y-2]=-1;
zb[x1+2][y+1]=-1;zb[x1+1][y+2]=-1;
zb[x1-2][y+1]=-1;zb[x1-1][y+2]=-1;
zb[x1+2][y-1]=-1;zb[x1+1][y-2]=-1;
zb[x1][y]=-1;
lx(0,0);
cout<<cnt;
return 0;
}
void lx(int X,int Y){
if(X==x2 && y2==Y){
cnt++;return;
}
if(X+1<=x2 && zb[X+1][Y]!=-1){
X+=1;
lx(X,Y);
}
if(Y+1<=y2 && zb[X][Y+1]!=-1){
Y+=1;
lx(X,Y);
}
}