#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll N,dp[3005][3005],p,pok,res;
string A;
int main(){
   cin>>A;
   N=A.size();
   A="."+A+"....";
   memset(dp,0,sizeof(dp));
   for(int i=4;i<=N;i++){
      for(int j=2;j<=i-2;j++){
         pok=0;
         p=i-j+1;
         if(A[p]==A[p-1])
            pok++;
         for(int k=2;k<=i-1;k++){
            if(k<=j)
               if(A[p-k]==A[p+k-1])
                  pok++;
            dp[i][j]=max(dp[i][j],pok+dp[p-1][k]);
         }
      }
   }
   res=0;
   for(int i=1;i<=N;i++)
      res=max(dp[N][i],res);
   cout<<res<<endl;
}
/*
dp[i][j]

- Zavrsava se elementom i
- Duzine je j
*/