B. Tokitsukaze and Mahjong

int main(){
    // input
    VI A;
    rep(i,3){
      string s;cin>>s;
      ll v = 0;
      char ty = s[1];
      if(ty=='m'){
        v += 1000;
      }else if(ty=='p'){
        v += 2000;
      }else{
        v += 3000;
      }
      ll a = s[0]-'0';
      v += a;
      A.push_back(v);
    }
    SORT(A);
    debug(A);

    // 3つ組
    if(A[0]==A[1] && A[1]==A[2]){
      // koutsu
      p(0); return 0;
    }
    else if(A[0]==A[1] or A[1]==A[2]){
      // 2つが同じ値
      p(1); return 0;
    }

    // シーケンス
    // 1m ?? 3m これも1
    if(A[1]-A[0]==1 and A[2]-A[1]==1){
      p(0); return 0;
    }
    else if(A[1]-A[0]==1 or A[2]-A[1]==1){
      p(1); return 0;
    }
    else if(A[1]-A[0]==2 or A[2]-A[1]==2){
      p(1); return 0;
    }

    p(2);
    
    return 0;
}