#include <bits/stdc++.h>
#define MAXN int(2e2+2)
#define MARK -9
using namespace std;
typedef long long LL;
#define f(i,a,b) for(int i=a;i<=b;i++)
#define f2(i,a,b) for(int i=a;i>=b;i--)
LL xh,yh,xb,yb,ls[MAXN][MAXN];
int main(){
cin>>xb>>yb>>xh>>yh;
fill(ls[0],ls[0]+MAXN*MAXN,0);
f(i,0,xb) ls[i][0]=1;
f(j,0,yb) ls[0][j]=1;
f(i,0,xb){
f(j,0,yb){
if(pow(abs(i-xh),2)+pow(abs(j-yh),2)==5) ls[i][j]=MARK;
}
}
ls[xh][yh]=MARK;
f(i,1,xb){
f(j,1,yb){
if(ls[i][j]==MARK) continue;
if(ls[i][j-1]!=MARK) ls[i][j]+=ls[i][j-1];
if(ls[i-1][j]!=MARK) ls[i][j]+=ls[i-1][j];
}
}
cout<<ls[xb][yb];
return 0;
}