#include <bits/stdc++.h>
using namespace std;
struct node {
  int a, b;
};
node s[10];
int main() {
  long long i, j;
  while (scanf("%I64d%I64d", &s[0].a, &s[0].b) != EOF) {
    set<long long> x;
    set<long long> y;
    for (i = 1; i < 3; i++) scanf("%I64d%I64d", &s[i].a, &s[i].b);
    for (i = 0; i < 3; i++) {
      x.insert(s[i].a);
      y.insert(s[i].b);
    }
    if (x.size() == 1 || y.size() == 1) {
      puts("1");
      continue;
    }
    if (x.size() == 2 && y.size() == 2) {
      puts("2");
      continue;
    }
    if (x.size() == 2 && y.size() == 3) {
      if (s[0].a == s[1].a) {
        if ((s[2].b > s[0].b && s[2].b < s[1].b) ||
            (s[2].b > s[1].b && s[2].b < s[0].b)) {
          puts("3");
          continue;
        } else {
          puts("2");
          continue;
        }
      }
      if (s[0].a == s[2].a) {
        if ((s[1].b > s[0].b && s[1].b < s[2].b) ||
            (s[1].b > s[2].b && s[1].b < s[0].b)) {
          puts("3");
          continue;
        } else {
          puts("2");
          continue;
        }
      }
      if (s[1].a == s[2].a) {
        if ((s[0].b > s[1].b && s[0].b < s[2].b) ||
            (s[0].b > s[2].b && s[0].b < s[1].b)) {
          puts("3");
          continue;
        } else {
          puts("2");
          continue;
        }
      }
    }
    if (y.size() == 2 && x.size() == 3) {
      if (s[0].b == s[1].b) {
        if ((s[2].a > s[0].a && s[2].a < s[1].a) ||
            (s[2].a > s[1].a && s[2].a < s[0].a)) {
          puts("3");
          continue;
        } else {
          puts("2");
          continue;
        }
      }
      if (s[0].b == s[2].b) {
        if ((s[1].a > s[0].a && s[1].a < s[2].a) ||
            (s[1].a > s[2].a && s[1].a < s[0].a)) {
          puts("3");
          continue;
        } else {
          puts("2");
          continue;
        }
      }
      if (s[1].b == s[2].b) {
        if ((s[0].a > s[1].a && s[0].a < s[2].a) ||
            (s[0].a > s[2].a && s[0].a < s[1].a)) {
          puts("3");
          continue;
        } else {
          puts("2");
          continue;
        }
      }
    }
    if (x.size() == 3 && y.size() == 3) {
      puts("3");
      continue;
    }
  }
  return 0;
}
