#include <bits/stdc++.h>
using namespace std;
int main() {
  string t1, t2, t3;
  char m1, m2, m3;
  cin >> t1 >> t2 >> t3;
  int n1, n2, n3;
  vector<int> a(3);
  n1 = t1[0] - '0';
  n2 = t2[0] - '0';
  n3 = t3[0] - '0';
  m1 = t1[1];
  m2 = t2[1];
  m3 = t3[1];
  a[0] = n1;
  a[1] = n2;
  a[2] = n3;
  sort(a.begin(), a.end());
  if (t1 == t2 && t2 == t3) {
    cout << 0;
    return 0;
  } else if (t1 == t2 || t2 == t3 || t3 == t1) {
    cout << 1;
    return 0;
  }
  if (m1 == m2 && m2 == m3 && a[0] + 1 == a[1] && a[1] + 1 == a[2]) {
    cout << 0;
    return 0;
  } else if (m1 == m2 && m2 == m3 && abs(a[0] - a[1]) <= 2) {
    cout << 1;
    return 0;
  } else if (m1 == m2 && m2 == m3 && abs(a[1] - a[2]) <= 2) {
    cout << 1;
    return 0;
  } else if (m1 == m2 && m2 == m3 && abs(a[0] - a[2]) <= 2) {
    cout << 1;
    return 0;
  } else if (m1 == m2 && m2 == m3) {
    cout << 2;
    return 0;
  }
  if (m1 != m2 && m2 != m3 && m1 != m3) {
    cout << 2;
    return 0;
  }
  if (m1 == m2 && abs(n1 - n2) <= 2) {
    cout << 1;
    return 0;
  } else if (m1 == m2) {
    cout << 2;
    return 0;
  }
  if (m1 == m3 && abs(n1 - n3) <= 2) {
    cout << 1;
    return 0;
  } else if (m1 == m3) {
    cout << 2;
    return 0;
  }
  if (m3 == m2 && abs(n3 - n2) <= 2) {
    cout << 1;
    return 0;
  } else if (m3 == m2)
    cout << 2;
}
