local mmi, mma = math.min, math.max local n = io.read("*n", "*l") local s = io.read() local acnt = 0 local base = 0 local ta, tc = {}, {} for i = 1, n do local b = s:sub(i, i) if b == "A" then acnt = acnt + 1 elseif b == "C" then base = base + acnt else table.insert(ta, acnt) end end local ccnt = 0 local tmp = #ta for i = n, 1, -1 do local b = s:sub(i, i) if b == "A" then tmp = tmp - 1 elseif b == "C" then ccnt = ccnt + 1 else table.insert(tc, ccnt) base = base + ta[tmp] end end for i = 1, #ta do local j = #ta + 1 - i if j <= i then break end tc[i], tc[j] = tc[j], tc[i] end local cand = base for i = 1, #ta do base = base - ta[i] + tc[i] cand = mma(cand, base + i * (#ta - i)) end print(cand)