#3 #5 #10过不去
#include<bits/stdc++.h>
using namespace std;
const int N = 61;
int dp[N][N] , n;
char a[N];
int main(){
memset(dp , 0x3f3f3f3f , sizeof dp);
int i = 1;
while(cin >> a[i]){
dp[i][i] = 1;
i ++;
}
n = i - 1;
for(int len = 2;len <= n;len ++){
for(i = 1;i + len - 1 <= n;i ++){
int j = i + len - 1;
if(a[i] != a[j]) dp[i][j] = min(dp[i][j - 1] , dp[i + 1][j]) + 1;
else dp[i][j] = min(dp[i][j] , dp[i + 1][j]);
}
}
cout << dp[1][n] << endl;
return 0;
}