#include #include #include #define rep(i,n) for(i=0;i<(int)(n);i++) using namespace std; typedef long long ll; typedef unsigned long long ull; int n; string s; int main(){ int i,j; ll ans=0,tmp; scanf("%d",&n); cin>>s; vector sumA(1,0),sumC(1,0),sumQ(1,0),qs; rep(i,n){ sumA.push_back(sumA[i]+(s[i]=='A')); sumC.push_back(sumC[i]+(s[i]=='C')); sumQ.push_back(sumQ[i]+(s[i]=='?')); if(s[i]=='?')qs.push_back(i); } // ?の部分は,A~AC~Cのように選ぶのが最適 // ?が全てCの場合から始める tmp=0; rep(i,n)if(s[i]=='A')tmp+=sumC[n]-sumC[i]+sumQ[n]-sumQ[i]; ans=tmp; rep(i,qs.size()){ tmp-=sumA[qs[i]]+i; tmp+=sumC[n]-sumC[qs[i]]+sumQ[n]-sumQ[qs[i]+1]; ans=max(ans,tmp); } printf("%lld\n",ans); return 0; }