#include #include #include #include #include #include #include #include #include #include #include using namespace::std; int main() { ios::sync_with_stdio(false); int n; string s; cin >> n >> s; long long best = 0; unordered_map t; for (char x : s) { if (x == 'C' || x == '?') best += t['A']; ++t[x]; } long long b = best; unordered_map c; for (char x : s) { if (x == '?') { b -= c['A'] + c['?']; b += (t['C'] - c['C']) + (t['?'] - c['?'] - 1); } best = max(b, best); ++c[x]; } cout << best << endl; return 0; }