/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// your code goes here
Scanner sc
= new Scanner
(System.
in);
int n = s.length();
int[][] dp = new int[n][n];
int lps = 1;
for(int i = 0; i < n; i++){
dp[i][i] = 1;
}
for(int i = 0; i < n-1; i++){
if(s.charAt(i) == s.charAt(i+1)){
dp[i][i+1] = 2;
//lps = Math.max(lps, dp[i][i+1]);
}else{
dp[i][i+1] = 1;
//lps = Math.max(lps, dp[i][i+1]);
}
}
for(int len = 3; len <= n; len++){
for(int i = 0; i <= n - len; i++){
int j = i + len - 1;
if(s.charAt(i) != s.charAt(j)){
dp
[i
][j
] = Math.
max(dp
[i
][j
-1], dp
[i
+1][j
]); }else{
dp
[i
][j
] = Math.
max(2 + dp
[i
+1][j
-1],
Math.
max(dp
[i
+1][j
],dp
[i
+1][j
-1])); }
}
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQlTY2FubmVyIHNjID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCQlTdHJpbmcgcyA9IHNjLm5leHQoKTsKCQkKCQlpbnQgbiA9IHMubGVuZ3RoKCk7CgkJCgkJaW50W11bXSBkcCA9IG5ldyBpbnRbbl1bbl07CgkJCgkJaW50IGxwcyA9IDE7CgkJZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CgkJCWRwW2ldW2ldID0gMTsKCQl9CgkJCgkJZm9yKGludCBpID0gMDsgaSA8IG4tMTsgaSsrKXsKCQkJaWYocy5jaGFyQXQoaSkgPT0gcy5jaGFyQXQoaSsxKSl7CgkJCQlkcFtpXVtpKzFdID0gMjsKCQkJCS8vbHBzID0gTWF0aC5tYXgobHBzLCBkcFtpXVtpKzFdKTsKCQkJfWVsc2V7CgkJCQlkcFtpXVtpKzFdID0gMTsKCQkJCS8vbHBzID0gTWF0aC5tYXgobHBzLCBkcFtpXVtpKzFdKTsKCQkJfQoJCX0KCQkKCQlmb3IoaW50IGxlbiA9IDM7IGxlbiA8PSBuOyBsZW4rKyl7CgkJCWZvcihpbnQgaSA9IDA7IGkgPD0gbiAtIGxlbjsgaSsrKXsKCQkJCWludCBqID0gaSArIGxlbiAtIDE7CgkJCQlpZihzLmNoYXJBdChpKSAhPSBzLmNoYXJBdChqKSl7CgkJCQkJZHBbaV1bal0gPSBNYXRoLm1heChkcFtpXVtqLTFdLCBkcFtpKzFdW2pdKTsKCQkJCX1lbHNlewoJCQkJCWRwW2ldW2pdID0gTWF0aC5tYXgoMiArIGRwW2krMV1bai0xXSwgTWF0aC5tYXgoZHBbaSsxXVtqXSxkcFtpKzFdW2otMV0pKTsKCQkJCX0gCgkJCX0KCQl9CgkJCgkJU3lzdGVtLm91dC5wcmludChkcFswXVtuLTFdKTsKCX0KfQ==