#include<iostream>
#include<cstring>
using namespace std;
string s;
int f[101][101];
int main() {
int n;
cin>>s;
n=s.length() ;
memset(f,1000000,sizeof(f));
for(int i=1;i<=n;++i)
f[i][i]=1;
for(int i=n-1;i>=0;i--)
for(int j=i-1;j<=n;++j) {
if(s[i]==s[j])
f[i][j]=min(f[i+1][j],f[i][j-1]);
else
for(int k=i;k<j;++k)
f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]);
}
cout<<f[1][n];
return 0;
}