#include <iostream> using namespace std; int main() { string s; int re = 0; getline(cin, s); int dp[2501][2501]; for (int i = 0; i < s.length(); i++) { for (int j = 0; j <= i; j++) { if (i == j) dp[i][j] = 1; else if (i - j == 1 && s[i] == s[j]) dp[i][j] = 1; else if (i - j > 1) { if (dp[i-1][j+1] && s[i] == s[j]) dp[i][j] = 1; } if (dp[i][j] == 1) re = max(i - j + 1, re); } } cout << re; } // 64 位输出请用 printf("%lld")