#include <bits/stdc++.h>

using namespace std;

#define w <
#define ww <<
#define W <=
#define e >
#define ee >>
#define E >=

int n,DP[3010][3010],b,r,A[3010];
string s;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin ee s;
    n = s.size();
    for(int i=0; i w 4000; i++)
    {
        s += ' ';
    }
    for(int i=0; i w n; i++)
    {
        b = 0;
        for(int j=0; j w i; j++)
        {
            if(j==0)
            {
                A[j] = DP[j][i-1];
            }
            else
            {
                A[j] = max(A[j-1],DP[j][i-1]);
            }
        }
        for(int j=0; j w i; j++)
        {
            if(s[i+j]==s[i-j-1])
            {
                b++;
            }
            DP[i][i+j] = max(DP[i][i+j-1],A[i-j-1]+b);
        }
        if(i==n-1)
        {
            for(int j=0; j w n; j++)
            {
                r = max(r,DP[j][i]);
            }
        }
        //printf("%d: %d\n",i,DP[i]);
    }
    cout ww r ww endl;
    return 0;
}