#include <bits/stdc++.h>
using namespace std;
string str; int n;
int dp[105][105];
int main(){
int i, j, k, len;
cin >> str;
n = str.size();
str = " " + str;
for (i = 1; i <= n; i++)
dp[i][i] = 1;
for (len = 2; len <= n; len++)
for (i = 1; i <= n - len + 1; i++){
j = i + len - 1;
dp[i][j] = 0x7ffffff;
for (k = i; k < j; k++){
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j]);
int flag = 1;
if (len % (k - i + 1) == 0){
for (int x = i; x <= j; x++)
if (str[x] != str[i + (x - i) % (k - i + 1)]){
flag = 0;
break;
}
if (flag == 1)
dp[i][j] = min(dp[i][j], 3 + dp[i][k]);
}
}
}
cout << dp[1][n];
return 0;
}
#1和#6一直过不了