#include <bits/stdc++.h>
using namespace std;
int r1, c1, r2, c2;
int rook(int r1, int c1, int r2, int c2) {
  if (r1 == r2 || c1 == c2) {
    return 1;
  } else {
    return 2;
  }
}
int bishop(int r1, int c1, int r2, int c2) {
  if ((r1 + c1) % 2 == 0 && (r2 + c2) % 2 != 0) return 0;
  if ((r1 + c1) % 2 != 0 && (r2 + c2) % 2 == 0) return 0;
  if (abs(r1 - r2) == abs(c1 - c2))
    return 1;
  else
    return 2;
}
int king(int r1, int c1, int r2, int c2) {
  return (max(abs(r1 - r2), abs(c1 - c2)));
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> r1 >> c1 >> r2 >> c2;
  cout << rook(r1, c1, r2, c2) << " ";
  cout << bishop(r1, c1, r2, c2) << " ";
  cout << king(r1, c1, r2, c2) << " ";
}
