#include<bits/stdc++.h>
using namespace std;
#define x first
#define y second
const int N=105;
typedef pair<int,int> pii;
queue<pii> q;
int xb,yb,xw,yw;
int d[N][N];
int dx[12]={-2,-1,1,2,2,2,2,1,-1,-2,2,-2},
dy[12]={2,2,2,2,1,-1,-2,-2,-2,-2,1,-1};
int bfs(int a,int b)
{
while(q.empty()) q.pop();
memset(d,-1,sizeof d);
d[a][b]=0;
q.push({a,b});
while(q.size()){
for(int i=0;i<15;i++)
{
pii t=q.front();
q.pop();
int x=t.first+dx[i],y=t.second+dy[i];
if(x<1||y<1||d[x][y]!=-1) continue;
d[x][y]=d[t.first][t.second]+1;
q.push({x,y});
if(x==1&&y==1) return d[x][y];
}
}
}
int main()
{
cin>>xb>>yb>>xw>>yw;
cout<<bfs(xb,yb)<<endl<<bfs(xw,yw);
return 0;
}