sng summer camp 1

B. 最长回文子序列

单点时限: 2.0 sec

内存限制: 256 MB

回文序列(Palindromic sequence, Palindrome)是指正向遍历和反向遍历完全相同的非空序列。
例如:字符串“AAAAA”是一个回文序列,又如字符串“ABC33CBA”也是一个回文序列。
给一个长度不超过1000个字符的字符串,找出最长回文子序列,输出该最长回文子序列的长度。
例如:
字符序列”BBABCBCAB”,最长回文子序列是“BACBCAB”(可能不唯一),它的长度是7。
子序列”BBBBB”和”BBABB”虽然也是回文序列,但却不是最长的。
注意:子序列指的是字符串中不一定连续但先后顺序一致的若干个字符。

输入格式

每行输入一个字符串,字符串长度≤1000。

输出格式

输出最长回文子序列的长度。

样例

Input
BBABCBCAB
Output
7
Input
A
Output
1
Input
aibohphobia
Output
11
Input
AA344B3A
Output
6