#include <bits/stdc++.h>
using namespace std;
long long int power(long long int a, long long int b) {
  if (b == 0)
    return 1;
  else
    return a * power(a, b - 1);
}
int main() {
  vector<pair<long long int, long long int> > vec;
  for (int i = 0; i < 3; i++) {
    long long int x, y;
    cin >> x >> y;
    vec.push_back(make_pair(x, y));
  }
  if (vec[0].first == vec[1].first && vec[1].first == vec[2].first) {
    cout << 1;
    return 0;
  } else if (vec[0].second == vec[1].second && vec[1].second == vec[2].second) {
    cout << 1;
    return 0;
  }
  if (vec[0].first == vec[1].first || vec[1].first == vec[2].first ||
      vec[0].first == vec[2].first) {
    if (vec[0].first == vec[1].first) {
      if (vec[2].second >= max(vec[0].second, vec[1].second) ||
          vec[2].second <= min(vec[0].second, vec[1].second)) {
        cout << 2;
        return 0;
      } else {
        cout << 3;
        return 0;
      }
    }
    if (vec[0].first == vec[2].first) {
      if (vec[1].second >= max(vec[0].second, vec[2].second) ||
          vec[1].second <= min(vec[0].second, vec[2].second)) {
        cout << 2;
        return 0;
      } else {
        cout << 3;
        return 0;
      }
    }
    if (vec[2].first == vec[1].first) {
      if (vec[0].second >= max(vec[1].second, vec[2].second) ||
          vec[0].second <= min(vec[1].second, vec[2].second)) {
        cout << 2;
        return 0;
      } else {
        cout << 3;
        return 0;
      }
    }
  } else if (vec[0].second == vec[1].second || vec[1].second == vec[2].second ||
             vec[0].second == vec[2].second) {
    if (vec[0].second == vec[1].second) {
      if (vec[2].first >= max(vec[0].first, vec[1].first) ||
          vec[2].first <= min(vec[0].first, vec[1].first)) {
        cout << 2;
        return 0;
      } else {
        cout << 3;
        return 0;
      }
    }
    if (vec[0].second == vec[2].second) {
      if (vec[1].first >= max(vec[0].first, vec[2].first) ||
          vec[1].first <= min(vec[0].first, vec[2].first)) {
        cout << 2;
        return 0;
      } else {
        cout << 3;
        return 0;
      }
    }
    if (vec[2].second == vec[1].second) {
      if (vec[0].first >= max(vec[1].first, vec[2].first) ||
          vec[0].first <= min(vec[1].first, vec[2].first)) {
        cout << 2;
        return 0;
      } else {
        cout << 3;
        return 0;
      }
    }
  } else {
    cout << 3;
    return 0;
  }
  return 0;
}
