#include <bits/stdc++.h>
using namespace std;
const int MAXN = 3005;
int dp[MAXN][MAXN];

int main() {
  ios_base::sync_with_stdio(false); cin.tie(0);
  string s; cin>>s;
  int n=s.size();
  for(int r=1; r<n; r++){
    for(int l=0; l<=r; l++){
        int br=0;
        for(int x=l-1; x>=0; x--){
            //FRANJO TUDJMAN
            if((l+l-x-1)<=r){ if(s[x]==s[l+l-x-1]) br++; }
            dp[l][r]=max(dp[l][r], dp[x][l-1]+br);
        }
    }
  }
  int sol=0;
  for(int i=0; i<n; i++){
    sol=max(sol, dp[i][n-1]);
    //cout<<dp[i][n-1]<<' ';
  }
  cout<<sol;
}