#include <bits/stdc++.h>

using namespace std;

typedef pair<int,int> pii;
typedef long long ll;
#define pb push_back
#define mp make_pair

int dp[3005][3005];
int poklop[3005][3005];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    string s;
    cin>>s;
    int n=s.size();
    for(int i=1;i<n;i++)
    {
        if(s[i]==s[i-1])
            poklop[i][i]=1;
    }
    for(int i=1;i<n;i++)
    {
        int a=i;
        int b=i-1;
        while(a!=n)
        {
            if(b>0 && a<n-1)
            {
                if(s[b-1]==s[a+1])
                    poklop[i][a+1]=poklop[i][a]+1;
                else
                    poklop[i][a+1]=poklop[i][a];
            }
            if(b<=0)
            {
                poklop[i][a+1]=poklop[i][a];
            }
            a++;
            b--;
        }
    }
    for(int i=1;i<n;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            for(int h=2;h<j-1;h++)
            {
                int raz1=j-i;
                int raz2=j-1-h;
                int mini=min(raz1,raz2);
                if(dp[i][j]<dp[h][i-1]+poklop[i][i+mini])
                    dp[i][j]=dp[h][i-1]+poklop[i][i+mini];
            }
        }
    }
    int res=0;
    for(int i=0;i<n;i++)
    {
        if(dp[i][n-1]>res)
        {
            res=dp[i][n-1];
        }
    }
    cout<<res;
    return 0;
}