#include <bits/stdc++.h>
using namespace std;
int rook(int x1, int x2, int y1, int y2) {
  if (x1 == x2 || y1 == y2) return 1;
  return 2;
}
int king(int x1, int x2, int y1, int y2) {
  return max(abs(x1 - x2), abs(y1 - y2));
}
int bishop(int x1, int x2, int y1, int y2) {
  if ((x1 + y1) % 2 != (x2 + y2) % 2) return 0;
  if (abs(x1 - x2) == abs(y1 - y2)) return 1;
  return 2;
}
int main() {
  int x1, y1, x2, y2;
  cin >> x1 >> y1 >> x2 >> y2;
  int r = rook(x1, x2, y1, y2);
  int b = bishop(x1, x2, y1, y2);
  int k = king(x1, x2, y1, y2);
  cout << r << " " << b << " " << k << endl;
}
