#include<iostream>
using namespace std;
int xb,yb,xm,ym,ans;
bool b[150][150];
const int d[20][20]={{0,0},{-2,1},{-1,2},{2,1},{1,2},{2,-1},{1,-2},{-1,-2},{-2,-1}};
void dfs(int x,int y)
{
if(x>xb||y>yb) return;
if(x==xb&&y==yb)
{
ans++;
return;
}
if(!b[x+1][y]) dfs(x+1,y);
if(!b[x][y+1]) dfs(x,y+1);
}
int main()
{
cin>>xb>>yb>>xm>>ym;
for(int i=0;i<9;i++)
b[xm+d[i][0]][ym+d[i][1]]=true;
dfs(0,0);
cout<<ans<<endl;
return 0;
}
救命啊………………