#include <bits/stdc++.h>
const int oo = 0x3f3f3f3f, mod = 1e9 + 7;
using namespace std;
int dx[]{1, -1, 0, 0, 1, 1, -1, -1};
int dy[]{0, 0, 1, -1, 1, -1, 1, -1};
void K_K() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
}
long long gcd(long long a, long long b) {
  return b == 0 ? abs(a) : gcd(b, a % b);
}
long long lcm(long long a, long long b) { return a / gcd(a, b) * b; }
bool valid(int x, int y) { return x > 0 && y > 0 && x < 9 && y < 9; }
int main() {
  K_K();
  int r1, c1, r2, c2, ans[3] = {0};
  cin >> r1 >> c1 >> r2 >> c2;
  if (r1 != r2) ans[0]++;
  if (c1 != c2) ans[0]++;
  int x = r1 + c1, y = r2 + c2;
  if ((!(x & 1)) && (y & 1))
    ans[1] = 0;
  else if ((!(y & 1)) && (x & 1))
    ans[1] = 0;
  else {
    bool flag = 0;
    for (int i = 4; i < 8; i++) {
      int x = r1 + dx[i], y = c1 + dy[i];
      while (valid(x, y)) {
        if (x == r2 && y == c2) {
          flag = 1;
          i = 8;
          break;
        }
        x += dx[i];
        y += dy[i];
      }
    }
    if (flag)
      ans[1] = 1;
    else
      ans[1] = 2;
  }
  x = r1, y = c1;
  while (x != r2 || y != c2) {
    if (x > r2)
      x--;
    else if (x < r2)
      x++;
    if (y > c2)
      y--;
    else if (y < c2)
      y++;
    ans[2]++;
  }
  for (int i = 0; i < 3; i++) cout << ans[i] << ' ';
}
