#include #include #include #include #include #include #include #include #include // require sort next_permutation count __gcd reverse etc. #include // require abs exit atof atoi #include // require scanf printf #include #include // require accumulate #include // require fabs #include #include #include #include // require setw #include // require stringstream #include // require memset #include // require tolower, toupper #include // require freopen #include // require srand #define rep(i,n) for(int i=0;i<(n);i++) #define ALL(A) A.begin(), A.end() /* yukicoder: No. 161 制限ジャンケン 貪欲解: 勝つ手を数えて、次に引き分けの手を数えて 最後に負ける手を数える。 */ using namespace std; typedef long long ll; typedef pair P; int main() { ios_base::sync_with_stdio(0); int G, C, P; cin >> G >> C >> P; string s; cin >> s; int g = (int)count (ALL (s ), 'G' ); int c = (int)count (ALL (s ), 'C' ); int p = (int)count (ALL (s ), 'P' ); int res = 0; int t = 0; t = min (G, c ); res += 3*t; G -= t; c -= t; t = min (C, p ); res += 3*t; C -= t; p -= t; t = min (P, g ); res += 3*t; P -= t; g -= t; t = min (G, g ); res += t; G -= t; t = min (C, c ); res += t; C -= t; t = min (P, p ); res += t; P -= t; cout << res << endl; return 0; }