#include <bits/stdc++.h>
using namespace std;
struct Point {
  int x, y;
};
bool white(Point p) { return (p.x & 1) == (p.y & 1); }
int main() {
  Point a, b;
  cin >> a.x >> a.y >> b.x >> b.y;
  cout << 2 - (a.x == b.x || a.y == b.y) << " ";
  if ((white(a) && !white(b)) || (!white(a) && white(b))) {
    cout << "0 ";
  } else if (abs(a.x - b.x) == abs(a.y - b.y)) {
    cout << "1 ";
  } else {
    cout << "2 ";
  }
  cout << max(abs(a.x - b.x), abs(a.y - b.y)) << endl;
  return 0;
}
