#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
int dp[100][100];
char tu[100];
int n;
int main()
{
scanf("%s",tu+1);
n=strlen(tu+1);
memset(dp,0x7f,sizeof(dp));
for(int i=1;i<=n;i++)
{
dp[i][i]=1;
}
for(int k=1;k<=n;k++)
{
for(int i=1;i<=n;i++)
{
int j=k+i-1;
if(tu[i]==tu[j])
{
dp[i][j]=min(dp[i+1][j],dp[i][j-1]);
}
else
{
for(int a=i;a<=j;a++)
{
dp[i][j]=min(dp[i][j],dp[i][a]+dp[a+1][j]);
}
}
}
}
cout<<dp[1][n];
return 0;
}
样例输出的都是乱七八糟的数qwq