#include <iostream>
#include <cstring>
using namespace std;
int ex,ey,mx,my;
long long f[30][30];
bool s[30][30];
int dir[9][2] = {{0},{1,-2},{1,2},{-2,1},{2,1},{-1,-2},{-1,2},{2,-1},{-2,-1}};
int main() {
memset(s,true,sizeof(s));
cin >> ex >> ey >> mx >> my;
s[mx][my] = false;
f[0][1] = f[1][0] = 0;
for (int i = 1; i <= 8; i++) {
s[mx + dir[i][0]][my + dir[i][1]] = false;
}
for (int i = 1; i <= 20; i++) {
for (int j = 1; j <= 20; i++) {
f[i][j] = (f[i - 1][j] + f[i][j - 1]) * s[i][j];
}
}
cout << f[ex][ey];
return 0;
}