#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<ctype.h>
#include<string>
#define R register
using namespace std;
char s[55];
int f[55][55];
bool tag[55];
int len;
inline bool check(int l,int r)
{
int mid=(r-l>>1)+1;
for(int i=l;i<=l+r>>1;i++)if(s[i]!=s[i+mid])return 0;
return 1;
}
int main()
{
scanf("%s",s);
len=strlen(s);
for(int i=0;i<len;i++)
for(int j=i;j<len;j++)f[i][j]=j-i+1;
for(int l=1;l<len;l++)
for(int i=0,j=i+l;j<len;i++,j++)
{
for(int k=i;k<j;k++){
f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]);
}
if(!l%2)continue;
int k=i+j>>1;
if(check(i,j)){
if(!tag[i] and i!=0){
if(f[i][k]+2<f[i][j])f[i][j]=f[i][k]+2,tag[i]=1;
}
else
{
f[i][j]=min(f[i][j],f[i][k]+1);
}
}
}
printf("%d",f[0][len-1]);
return 0;
}