#include <bits/stdc++.h>
using namespace std;
/*
* Complete the 'playWithWords' function below.
*
* The function is expected to return an INTEGER.
* The function accepts STRING s as parameter.
*/
short dp[3010][3010];
int solve(int i, int j, string s)
{
// cout << i << ' ' << j << endl;
if (i > j)
return 0;
if (dp[i][j] != -1)
return dp[i][j];
int ans = 0;
if (s[i] == s[j])
ans = 2 + solve(i+1, j-1, s);
// else
// {
ans = max(ans, solve(i+1, j, s));
ans = max(ans, solve(i, j-1, s));
// }
return dp[i][j] = ans;
}
int playWithWords(string s) {
memset(dp, -1, sizeof(dp));
for (int i=0; i<s.length(); i++)
dp[i][i] = 1;
solve(0, s.length()-1, s);
int ans = 1;
for (int i=0; i<s.length(); i++)
ans = max(ans, dp[0][i]*dp[i+1][s.length()-1]);
return ans;
}
int main()
{
// ofstream fout(getenv("OUTPUT_PATH"));
string s;
getline(cin, s);
int result = playWithWords(s);
cout << result << "\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLyoKICogQ29tcGxldGUgdGhlICdwbGF5V2l0aFdvcmRzJyBmdW5jdGlvbiBiZWxvdy4KICoKICogVGhlIGZ1bmN0aW9uIGlzIGV4cGVjdGVkIHRvIHJldHVybiBhbiBJTlRFR0VSLgogKiBUaGUgZnVuY3Rpb24gYWNjZXB0cyBTVFJJTkcgcyBhcyBwYXJhbWV0ZXIuCiAqLwoKc2hvcnQgZHBbMzAxMF1bMzAxMF07CgppbnQgc29sdmUoaW50IGksIGludCBqLCBzdHJpbmcgcykKewogICAgLy8gY291dCA8PCBpIDw8ICcgJyA8PCBqIDw8IGVuZGw7CiAgICBpZiAoaSA+IGopCiAgICAgICAgcmV0dXJuIDA7CiAgICBpZiAoZHBbaV1bal0gIT0gLTEpCiAgICAgICAgcmV0dXJuIGRwW2ldW2pdOwogICAgaW50IGFucyA9IDA7CiAgICBpZiAoc1tpXSA9PSBzW2pdKQogICAgICAgIGFucyA9IDIgKyBzb2x2ZShpKzEsIGotMSwgcyk7CiAgICAvLyBlbHNlCiAgICAvLyB7CiAgICBhbnMgPSBtYXgoYW5zLCBzb2x2ZShpKzEsIGosIHMpKTsKICAgIGFucyA9IG1heChhbnMsIHNvbHZlKGksIGotMSwgcykpOwogICAgLy8gfQogICAgcmV0dXJuIGRwW2ldW2pdID0gYW5zOwp9CgppbnQgcGxheVdpdGhXb3JkcyhzdHJpbmcgcykgewogICAgbWVtc2V0KGRwLCAtMSwgc2l6ZW9mKGRwKSk7CiAgICBmb3IgKGludCBpPTA7IGk8cy5sZW5ndGgoKTsgaSsrKQogICAgICAgIGRwW2ldW2ldID0gMTsKICAgIHNvbHZlKDAsIHMubGVuZ3RoKCktMSwgcyk7CiAgICBpbnQgYW5zID0gMTsKICAgIGZvciAoaW50IGk9MDsgaTxzLmxlbmd0aCgpOyBpKyspCiAgICAgICAgYW5zID0gbWF4KGFucywgZHBbMF1baV0qZHBbaSsxXVtzLmxlbmd0aCgpLTFdKTsKICAgIHJldHVybiBhbnM7Cn0KCmludCBtYWluKCkKewogICAgLy8gb2ZzdHJlYW0gZm91dChnZXRlbnYoIk9VVFBVVF9QQVRIIikpOwoKICAgIHN0cmluZyBzOwogICAgZ2V0bGluZShjaW4sIHMpOwoKICAgIGludCByZXN1bHQgPSBwbGF5V2l0aFdvcmRzKHMpOwoKICAgIGNvdXQgPDwgcmVzdWx0IDw8ICJcbiI7CgogICAgcmV0dXJuIDA7Cn0K
YWJiYmFhYWJhYWJhYWJiYWFhYWFhYmJhYmFiYWJiYWFhYmJiYmFhYmJiYmJhYWJiYWJiYWFiYmJiYmFhYWJhYWFiYmFhYmFhYmJhYmFiYWJiYmFhYmFiYWJiYWJiYWFhYWJiYmFiYWJhYWJhYmFiYWJhYmFhYmJiYWJhYWJiYmFhYmJiYWFiYmFiYmFhYmJiYmJhYmFhYWJiYWFiYmFhYWJhYmJiYmJiYWJhYWFiYmJiYmJiYmJhYWJiYWJiYmFhYmJiYWFhYWFiYWFhYmJiYWJhYmJhYmFhYmJiYWJiYWJhYmFiYWFiYmJiYWJiYWJhYmJhYWJhYWFhYmJhYmJhYmFhYWFhYmJhYWJiYmJiYmFhYmFiYWJiYmJhYmFiYWJiYmFhYWJhYmJhYWJiYmFiYWJhYmFhYWJhYWFiYmFhYWJhYmFiYWJiYmFiYWFhYWJhYmFhYWJiYWFiYWFiYmFhYmJhYWJhYWFhYmFhYWJhYWJhYmFhYmFhYmFiYmJhYmFhYWJiYWJhYWJhYmFhYmFhYmFiYWFhYWFiYmJiYmFhYmFhYWJiYmJhYmFiYWFiYmJiYmJiYmFiYWJhYWFiYWJhYWJhYmFhYmJiYWFiYmFhYWJhYWJiYmFhYmFiYWFhYmJiYWJiYmFiYWJhYWJiYWJhYmFhYWFhYWFiYmJiYmJiYWJiYmJiYmFiYWJiYmJiYWJiYmJiYmJhYmJiYmFiYmJiYWJiYmFiYWFhYWFhYWFiYmFiYmJhYmFiYWFhYWFhYmFiYWJhYWFhYWJiYWFhYmFhYmJiYWFiYmJiYmFiYWJiYmJiYWFhYWJhYmJiYWJiYWJiYWFiYWFiYmFiYmJhYmJiYWFiYWFiYmFhYmJhYWJiYmJhYWFiYmJhYWFiYWFhYmFiYWFhYmJhYWJiYWJiYWFiYmJiYWFiYmFiYWFhYWJhYWJiYWJhYWFiYWJiYmJhYWJiYWFiYWFiYWJhYWJiYWJiYmFhYWJiYWJhYWJhYWJiYmJiYmFiYWJiYWFiYWJiYWFiYWFhYWJiYWJiYWFhYWFiYWJhYmJhYWJiYWFiYWJhYmJiYWFiYmJhYmJhYmJiYmFhYWJhYWFiYmFhYmFhYWJhYWJiYmJiYWFiYmJhYmJiYmJiYWFhYWJiYmFiYmJhYmJhYWJhYmFiYmFiYmFhYWFhYWFhYWFiYWFiYWJhYWJhYWFhYWFhYmFiYWFhYWJiYWFiYWFiYmJiYmFiYmJiYmFhYmJhYWJiYWJhYmFhYmJhYWFhYmFiYWFiYWFhYmFhYmJiYmJhYWJiYmFiYWJiYWJhYmFhYWFhYmJiYWFiYmFiYWJhYmJhYmFhYWJiYWFhYWJhYWJhYmJhYmFhYWJhYWJhYmFhYmFhYWFiYmJhYWFiYmJiYmJiYmJhYWJhYmFhYmFiYWJiYmJhYWJhYWJiYWFiYmJhYmFiYmJiYWJhYWFiYmFhYWJiYWJhYmJhYmFiYWJiYmFhYWJiYWJhYWFhYmFhYmFiYmJhYWJiYWFiYWJhYmJiYWFhYmJhYWFiYmFiYWFiYWFiYWFhYmJiYWFhYmJhYWJiYWFhYWFiYmFiYWFiYmJiYmFiYmFiYmFiYmJiYmFiYWJhYWFhYWJhYmFhYmJiYWJhYmJiYmFiYmJhYWFhYmJiYmJiYmJiYmJhYWJiYWFiYmFhYWFhYWFhYWFiYmJiYWFiYWJhYWJiYWJhYWFhYmJhYWJiYWFiYmFhYmFiYmJhYWJiYmFiYmJhYmJhYmJiYmFhYmJiYmJiYmJiYmJiYWJhYmJhYWFiYWFiYmJhYmJiYmJhYWJhYmFiYWJiYWJiYmJhYWJhYWFiYmFhYWJiYWJiYWFiYWFhYWFhYmJiYWJhYWFhYmFhYmJiYWJiYWFiYmFhYWJiYWFhYWFiYmJiYWJhYmJhYWJiYWFiYWJhYmFhYmJiYmJiYWJhYmFhYmJiYWFhYmFhYmFiYWJiYWJiYWJiYmJhYmJhYmFiYmFiYmJhYmJiYmJhYWJiYWJhYWJhYmFhYWJiYWJiYmFiYWFhYmFhYmFhYWJhYWJhYmFhYmFhYmJiYmFiYmFhYWJiYWFhYmJiYWFhYmJhYWFhYmJiYWFhYWJhYWJiYWJiYmFhYWJhYWJhYWFhYWFhYmFiYmJhYWJiYWJhYWJhYWFhYmFiYmJiYmJhYmJiYWFhYWJhYWJiYWJiYmFhYmJhYWJhYmJiYmJiYmFiYWJiYWFhYmJhYWFhYWJiYmJhYWFhYmJhYWFhYWFhYWFhYWFiYmJiYWJiYWFiYmFiYmFiYmJiYmFhYWJhYWJiYWFiYmJhYWJiYmJiYmJhYWJiYmFiYWJhYWFhYWFiYmJhYWJiYWFhYmFhYmJiYWJhYWJhYWJiYmJiYWFhYWFhYmFhYWFiYmFhYWJiYWFhYmFhYWFhYWFhYWJiYmFhYWJhYmJiYmFiYmJiYWJhYmJhYWFiYmFiYWFiYWJhYWJhYWJiYWFhYWFiYWJiYWFiYmJiYmJiYWFiYWJiYmFiYmFhYmJhYWJhYWJiYWJhYmFiYWFiYWFiYWJhYmFhYmJiYmJhYmJiYWJiYWFiYmFhYWJhYWFhYWJhYWJiYmJhYWJiYmJiYmJiYmFiYmJiYWJiYmJiYmJhYmFiYmJhYmFhYWFhYmFiYWJhYWJhYmFhYmJiYWJiYWJiYmFhYmJhYWI=
abbbaaabaabaabbaaaaaabbabababbaaabbbbaabbbbbaabbabbaabbbbbaaabaaabbaabaabbabababbbaabababbabbaaaabbbababaabababababaabbbabaabbbaabbbaabbabbaabbbbbabaaabbaabbaaababbbbbbabaaabbbbbbbbbaabbabbbaabbbaaaaabaaabbbababbabaabbbabbabababaabbbbabbababbaabaaaabbabbabaaaaabbaabbbbbbaabababbbbabababbbaaababbaabbbabababaaabaaabbaaababababbbabaaaababaaabbaabaabbaabbaabaaaabaaabaababaabaababbbabaaabbabaababaabaababaaaaabbbbbaabaaabbbbababaabbbbbbbbababaaababaababaabbbaabbaaabaabbbaababaaabbbabbbababaabbababaaaaaaabbbbbbbabbbbbbababbbbbabbbbbbbabbbbabbbbabbbabaaaaaaaabbabbbababaaaaaabababaaaaabbaaabaabbbaabbbbbababbbbbaaaababbbabbabbaabaabbabbbabbbaabaabbaabbaabbbbaaabbbaaabaaababaaabbaabbabbaabbbbaabbabaaaabaabbabaaababbbbaabbaabaababaabbabbbaaabbabaabaabbbbbbababbaababbaabaaaabbabbaaaaabababbaabbaabababbbaabbbabbabbbbaaabaaabbaabaaabaabbbbbaabbbabbbbbbaaaabbbabbbabbaabababbabbaaaaaaaaaabaababaabaaaaaaababaaaabbaabaabbbbbabbbbbaabbaabbababaabbaaaababaabaaabaabbbbbaabbbababbababaaaaabbbaabbabababbabaaabbaaaabaababbabaaabaababaabaaaabbbaaabbbbbbbbbaababaabababbbbaabaabbaabbbababbbbabaaabbaaabbababbabababbbaaabbabaaaabaababbbaabbaabababbbaaabbaaabbabaabaabaaabbbaaabbaabbaaaaabbabaabbbbbabbabbabbbbbababaaaaababaabbbababbbbabbbaaaabbbbbbbbbbbaabbaabbaaaaaaaaaabbbbaababaabbabaaaabbaabbaabbaababbbaabbbabbbabbabbbbaabbbbbbbbbbbbababbaaabaabbbabbbbbaababababbabbbbaabaaabbaaabbabbaabaaaaaabbbabaaaabaabbbabbaabbaaabbaaaaabbbbababbaabbaabababaabbbbbbababaabbbaaabaabababbabbabbbbabbababbabbbabbbbbaabbabaababaaabbabbbabaaabaabaaabaababaabaabbbbabbaaabbaaabbbaaabbaaaabbbaaaabaabbabbbaaabaabaaaaaaababbbaabbabaabaaaababbbbbbabbbaaaabaabbabbbaabbaababbbbbbbababbaaabbaaaaabbbbaaaabbaaaaaaaaaaaabbbbabbaabbabbabbbbbaaabaabbaabbbaabbbbbbbaabbbababaaaaaabbbaabbaaabaabbbabaabaabbbbbaaaaaabaaaabbaaabbaaabaaaaaaaaabbbaaababbbbabbbbababbaaabbabaababaabaabbaaaaababbaabbbbbbbaababbbabbaabbaabaabbabababaabaabababaabbbbbabbbabbaabbaaabaaaaabaabbbbaabbbbbbbbbabbbbabbbbbbbababbbabaaaaabababaababaabbbabbabbbaabbaab