using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Competitive.lib { internal class Solution { public Dictionary FST; public void Run() { string S = Console.ReadLine(); int N = S.Length; FST = new Dictionary(); int ret = 0; int c = 0; FST.Add(0, 0); for (int i = 0; i < N; i++) { if (S[i] == 'A') c++; else c--; if (FST.ContainsKey(c)) { ret = Math.Max(ret, i - FST[c]); } else { FST.Add(c, i); } } Console.WriteLine(ret); } } // libs ---------- // common ---------- internal static class Input { public static int ReadInt() { string line = Console.ReadLine(); return int.Parse(line); } public static int[] ReadIntArray() { string line = Console.ReadLine(); return line.Split(' ').Select(int.Parse).ToArray(); } public static double[] ReadDoubleArray() { string line = Console.ReadLine(); return line.Split(' ').Select(double.Parse).ToArray(); } } internal class Program { public static void Main(string[] args) { var s = new Solution(); s.Run(); } } }