#include <bits/stdc++.h>
int _min(int a, int b) {
  if (a < b) return a;
  return b;
}
int _max(int a, int b) {
  if (a > b) return a;
  return b;
}
int main() {
  int i, j, k;
  int n;
  int x1, y1, x2, y2, x3, y3, res;
  scanf("%d %d", &x1, &y1);
  scanf("%d %d", &x2, &y2);
  scanf("%d %d", &x3, &y3);
  if ((x1 == x2 && x1 == x3) || (y1 == y2 && y1 == y3)) {
    printf("1");
    return 0;
  }
  if (x1 == x2) {
    int min = _min(y1, y2);
    int max = _max(y1, y2);
    if (y3 <= min || y3 >= max) {
      printf("2");
      return 0;
    }
  }
  if (y1 == y2) {
    int min = _min(x1, x2);
    int max = _max(x1, x2);
    if (x3 <= min || x3 >= max) {
      printf("2");
      return 0;
    }
  }
  if (x1 == x3) {
    int min = _min(y1, y3);
    int max = _max(y1, y3);
    if (y2 <= min || y2 >= max) {
      printf("2");
      return 0;
    }
  }
  if (y1 == y3) {
    int min = _min(x1, x3);
    int max = _max(x1, x3);
    if (x2 <= min || x2 >= max) {
      printf("2");
      return 0;
    }
  }
  if (x3 == x2) {
    int min = _min(y3, y2);
    int max = _max(y3, y2);
    if (y1 <= min || y1 >= max) {
      printf("2");
      return 0;
    }
  }
  if (y3 == y2) {
    int min = _min(x3, x2);
    int max = _max(x3, x2);
    if (x1 <= min || x1 >= max) {
      printf("2");
      return 0;
    }
  }
  printf("3");
  return 0;
}
