
Score : 600 points
Problem StatementYou are given a string s consisting of A, B and C.
Snuke wants to perform the following operation on s as many times as possible:
Choose a contiguous substring of s that reads ABC and replace it with BCA.
Find the maximum possible number of operations.
Constraints
1 \leq |s| \leq 200000
Each character of s is A, B and C.
InputInput is given from Standard Input in the following format:
s
OutputFind the maximum possible number of operations.
Sample Input 1ABCABC
Sample Output 13
You can perform the operations three times as follows: ABCABC → BCAABC → BCABCA → BCBCAA. This is the maximum result.
Sample Input 2C
Sample Output 20
Sample Input 3ABCACCBABCBCAABCB
Sample Output 36
