#include <bits/stdc++.h>
using namespace std;
int main() {
  int r1, c1, r2, c2;
  cin >> r1;
  cin >> c1;
  cin >> r2;
  cin >> c2;
  int rookmove;
  int bishopmove;
  int kingmove;
  if ((r1 == r2 || c1 == c2)) {
    rookmove = 1;
  }
  if (r1 == r2 && c1 == c2 && r1 == c1) {
    rookmove = 0;
  }
  if (r1 != r2 && c1 != c2) {
    rookmove = 2;
  }
  if ((r1 + c1) % 2 == 0) {
    if ((r2 + c2) % 2 == 1) {
      bishopmove = 0;
    } else {
      if (abs(r1 - r2) == abs(c1 - c2) && r1 != r2) {
        bishopmove = 1;
      }
      if (r1 == r2 && c1 == c2) {
        bishopmove = 0;
      }
      if (abs(r1 - r2) != abs(c1 - c2)) {
        bishopmove = 2;
      }
    }
  }
  if ((r1 + c1) % 2 == 1) {
    if ((r2 + c2) % 2 == 0) {
      bishopmove = 0;
    } else {
      if (abs(r1 - r2) == abs(c1 - c2) && r1 != r2) {
        bishopmove = 1;
      }
      if (r1 == r2 && c1 == c2) {
        bishopmove = 0;
      }
      if (abs(r1 - r2) != abs(c1 - c2)) {
        bishopmove = 2;
      }
    }
  }
  kingmove = max(abs(r1 - r2), abs(c1 - c2));
  cout << rookmove << " " << bishopmove << " " << kingmove;
}
