#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define REP(i,n) FOR(i,0,n) #define CLR(a) memset((a), 0 ,sizeof(a)) #define MCLR(a) memset((a), -1 ,sizeof(a)) using namespace std; const int MAX = 20000; int INF = 99999999; int main() { int g,c,p; string s; cin >> g >> c >> p >> s; int point = 0; bool f[310]; CLR(f); for(int i = 0;i < s.length();i++) { if(s[i] == 'G') { if(p) { p--; f[i] = true; point += 3; } }else if(s[i] == 'C') { if(g) { g--; f[i] = true; point += 3; } }else if(s[i] == 'P') { if(c) { c--; f[i] = true; point += 3; } } } for(int i = 0;i < s.length();i++) { if(s[i] == 'G' && !f[i]) { if(g) { g--; point += 1; } }else if(s[i] == 'C' && !f[i]) { if(c) { c--; point += 1; } }else if(s[i] == 'P' && !f[i]) { if(p) { p--; point += 1; } } } cout << point << endl; return 0; }