# include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include using namespace std; using LL = long long; using ULL = unsigned long long; constexpr int MOD = 1000000000 + 7; constexpr int INF = 2000000000; constexpr int HINF = INF / 2; constexpr double DINF = 100000000000000000.0; constexpr long long LINF = 9223372036854775807; constexpr long long HLINF = 4500000000000000000; const double PI = acos(-1); int dx[4] = { 0,1,0,-1 }, dy[4] = { 1,0,-1,0 }; #define ALL(x) (x).begin(),(x).end() #define mp make_pair #define eb emplace_back int main(){ string s; cin >> s; int ans = 1; for (int i = 0; i < s.size(); i++) { int count = 0; for (int j = 0;; j++) { if (i-j < 0 || i+j >= s.size())break; if (s[i + j] == s[i - j])count++; } ans = max(ans, (count-1)*2+1); } for (int i = 0; i < s.size(); i++) { int count = 0; for (int j = 0;; j++) { if (i - j < 0 || i + j + 1 >= s.size())break; if (s[i - j] == s[i + j + 1])count++; } ans = max(ans, count * 2); } cout << ans << endl; }