rt
#include <bits/stdc++.h>
using namespace std;
int dx[12]={2,-2,2,-2,1,1,-1,-1,2,2,-2,-2},dy[12]={2,2,-2,-2,2,-2,2,-2,1,-1,1,-1},a[101][101],xx[101],yy[101],fu[101][101];
int x1,y3,x2,y2;
void bfs(int x,int y){
int head=0,tail=1;
xx[1]=x;
yy[1]=y;
a[x][y]=1;
fu[x][y]=0;
do{
head++;
for(int i=0;i<12;i++){
int xxx=xx[head]+dx[i],yyy=yy[head]+dy[i];
if(xxx<=20&&xxx>=1&&yyy<=20&&yyy>=1&&!a[xxx][yyy]){
tail++;
xx[tail]=xxx;
yy[tail]=yyy;
a[xxx][yyy]=1;
fu[xxx][yyy]=fu[xx[head]][yy[head]]+1;
if(xxx==1&&yyy==1){
cout<<fu[1][1]<<endl;
return;
}
}
}
}while(head<tail);
}
int main(){
cin>>x1>>y3>>x2>>y2;
bfs(x1,y3);
memset(a,0,sizeof(a));
memset(fu,0,sizeof(fu));
memset(xx,0,sizeof(xx));
memset(yy,0,sizeof(yy));
bfs(x2,y2);
}