#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using std::cout; using std::cin; using std::string; using std::vector; struct pos { int first, last; pos() { first = last = -1; } }; int main() { string s; cin >> s; std::map arr; arr[0].first = 0; arr[0].last = 0; int sum = 0; for (int i = 0; i < s.size(); i++) { if (s[i] == 'A') { sum++; } else { sum--; } if (arr[sum].first == -1) { arr[sum].first = i+1; } arr[sum].last = i+1; } int max = 0; for (const auto [k, p] : arr) { if (p.first == -1) { continue; } max = std::max(max, p.last - p.first); } cout << max; }