#include <bits/stdc++.h>
using namespace std;
bool cmp (string a, string b) {
return a < b;
}
int main() {
string s[3];
cin >> s[0] >> s[1] >> s[2];
sort (s, s+3, cmp);
if (s[0][1] == s[1][1] && s[0][1] == s[2][1])
if ((s[0][0] == s[1][0] && s[0][0] == s[2][0]) || (s[0][0]+1 == s[1][0] && s[1][0]+1 == s[2][0])) {
puts("0");
return 0;
}
if ((s[0][0] == s[1][0] && s[0][1] == s[1][1]) || (s[1][0] == s[2][0] && s[1][1] == s[2][1])
|| (s[0][1] == s[1][1] && (s[0][0]+1 == s[1][0] || s[0][0]+2 == s[1][0])) || (s[1][1] == s[2][1] && (s[1][0]+1 == s[2][0] || s[1][0]+2 == s[2][0])))
puts("1");
else puts("2");
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKYm9vbCBjbXAgKHN0cmluZyBhLCBzdHJpbmcgYikgewogICAgcmV0dXJuIGEgPCBiOwp9CiAKaW50IG1haW4oKSB7CiAgICBzdHJpbmcgc1szXTsKIAogICAgY2luID4+IHNbMF0gPj4gc1sxXSA+PiBzWzJdOwogCiAgICBzb3J0IChzLCBzKzMsIGNtcCk7CiAKICAgIGlmIChzWzBdWzFdID09IHNbMV1bMV0gJiYgc1swXVsxXSA9PSBzWzJdWzFdKQogICAgICAgIGlmICgoc1swXVswXSA9PSBzWzFdWzBdICYmIHNbMF1bMF0gPT0gc1syXVswXSkgfHwgKHNbMF1bMF0rMSA9PSBzWzFdWzBdICYmIHNbMV1bMF0rMSA9PSBzWzJdWzBdKSkgewogICAgICAgICAgICBwdXRzKCIwIik7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KIAogICAgaWYgKChzWzBdWzBdID09IHNbMV1bMF0gJiYgc1swXVsxXSA9PSBzWzFdWzFdKSB8fCAoc1sxXVswXSA9PSBzWzJdWzBdICYmIHNbMV1bMV0gPT0gc1syXVsxXSkKICAgICAgICB8fCAoc1swXVsxXSA9PSBzWzFdWzFdICYmIChzWzBdWzBdKzEgPT0gc1sxXVswXSB8fCBzWzBdWzBdKzIgPT0gc1sxXVswXSkpIHx8IChzWzFdWzFdID09IHNbMl1bMV0gJiYgKHNbMV1bMF0rMSA9PSBzWzJdWzBdIHx8IHNbMV1bMF0rMiA9PSBzWzJdWzBdKSkpCiAgICAgICAgICAgIHB1dHMoIjEiKTsKICAgIGVsc2UgcHV0cygiMiIpOwogCiAgICByZXR1cm4gMDsKfQ==