N = int(input()) S = input() ans = 0 lsc = [] cnt = 0 for i in range(N): if S[i] == 'A': cnt += 1 elif S[i] == '?': lsc.append(cnt) else: ans += cnt lsc.reverse() acc = [0] for i in range(len(lsc)): acc.append(acc[-1] + lsc[i]) lsa = [] cnt = 0 for i in range(N - 1, -1, -1): if S[i] == 'C': cnt += 1 elif S[i] == '?': lsa.append(cnt) lsa.reverse() aca = [0] for i in range(len(lsa)): aca.append(aca[-1] + lsa[i]) aca.reverse() L = len(lsa) fans = ans for i in range(L + 1): fans = max(fans, ans + acc[i] + aca[i] + i * (L - i)) print(fans)