#include <iostream>
#include <string>
using namespace std;
string helper(string str) {
if (str.size() <= 4) {
return str;
}
for (int i = 0; i < str.size(); ++i) {
for (int j = str.size() - 1; j > i; --j) {
if (str[j] != str[i]) continue;
int k = 0;
while (j + k < str.size() && str[i + k] == str[j + k]) ++k;
string base = str.substr(i, k);
int len = j - i;
if (len % k != 0) continue;
int num = len / k + 1;
if (3 + k >= j - i + k) continue;
int n = num - 1;
while (--n) {
if (base == str.substr(i + n*k, k)) continue;
else break;
}
if (n != 0) continue;
else {
string res = str.substr(0, i);
string numstr = to_string(num);
res += numstr;
res += '[';
string next = helper(base);
res += next;
res += ']';
res += str.substr(j + k);
return res;
}
}
}
}
int main() {
string str;
cin >> str;
if (str.size() <= 4) {
cout << str.size() << endl;
return 0;
}
cout << helper(str).size() << endl;
system("pause");
return 0;
}