#include <iostream>
#include <string>
using namespace std;
bool isLetter(char x)
{
return ( (x >= 'A' && x <= 'Z') ||
(x >= 'a' && x <= 'z') );
}
int main() {
string line, newLine[20];
int i = 0, n = 0, maxLineLength = 0;
while(getline(cin, line)) {
newLine[i] = line;
i++;
n++;
cout << line << "\n";
cout << newLine[i].length() << "\n";
if(newLine[i].size() > maxLineLength)
maxLineLength = newLine[i].size();
}
//cout << maxLineLength;
for(int i = 0; i < n; i++) {
//cout << newLine[i] << "&&&" << "\n";
/*if(newLine[i].size() < maxLineLength) {
int diff = maxLineLength - newLine[i].size();
int sizeCurrentLine = newLine[i].size();
cout << sizeCurrentLine << "\n";
newLine[i].resize(sizeCurrentLine + diff, '*');
cout << newLine[i].size() << "\n";*/
//}
//cout << newLine[i] << "\n";
/*for(int j = newLine[i].length(); j >= 0; j--) {
if(!isLetter(newLine[i][j])) {
newLine[i] = newLine[i].substr(j, newLine[i].length() - j) + newLine[i].substr(0, j);
break;
}
}
cout << newLine[i] << "\n";*/
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBpc0xldHRlcihjaGFyIHgpCnsKICAgIHJldHVybiAoICh4ID49ICdBJyAmJiB4IDw9ICdaJykgfHwKICAgICAgICAgICAgKHggPj0gJ2EnICYmIHggPD0gJ3onKSApOwp9CmludCBtYWluKCkgewogICAgc3RyaW5nIGxpbmUsIG5ld0xpbmVbMjBdOwogICAgaW50IGkgPSAwLCBuID0gMCwgbWF4TGluZUxlbmd0aCA9IDA7CiAgICB3aGlsZShnZXRsaW5lKGNpbiwgbGluZSkpIHsKICAgICAgICBuZXdMaW5lW2ldID0gbGluZTsKICAgICAgICBpKys7CiAgICAgICAgbisrOwogICAgICAgIGNvdXQgPDwgbGluZSA8PCAiXG4iOwogICAgICAgIGNvdXQgPDwgbmV3TGluZVtpXS5sZW5ndGgoKSA8PCAiXG4iOwogICAgICAgIGlmKG5ld0xpbmVbaV0uc2l6ZSgpID4gbWF4TGluZUxlbmd0aCkKICAgICAgICAgICAgbWF4TGluZUxlbmd0aCA9IG5ld0xpbmVbaV0uc2l6ZSgpOwogICAgfQogICAgLy9jb3V0IDw8IG1heExpbmVMZW5ndGg7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAJLy9jb3V0IDw8IG5ld0xpbmVbaV0gPDwgIiYmJiIgPDwgIlxuIjsKICAgICAgICAvKmlmKG5ld0xpbmVbaV0uc2l6ZSgpIDwgbWF4TGluZUxlbmd0aCkgewogICAgICAgICAgICBpbnQgZGlmZiA9IG1heExpbmVMZW5ndGggLSBuZXdMaW5lW2ldLnNpemUoKTsKICAgICAgICAgICAgaW50IHNpemVDdXJyZW50TGluZSA9IG5ld0xpbmVbaV0uc2l6ZSgpOwogICAgICAgICAgICBjb3V0IDw8IHNpemVDdXJyZW50TGluZSA8PCAiXG4iOwogICAgICAgICAgICBuZXdMaW5lW2ldLnJlc2l6ZShzaXplQ3VycmVudExpbmUgKyBkaWZmLCAnKicpOwogICAgICAgICAgICBjb3V0IDw8IG5ld0xpbmVbaV0uc2l6ZSgpIDw8ICJcbiI7Ki8KICAgICAgICAvL30KICAgICAgICAvL2NvdXQgPDwgbmV3TGluZVtpXSA8PCAiXG4iOwogICAgICAgIC8qZm9yKGludCBqID0gbmV3TGluZVtpXS5sZW5ndGgoKTsgaiA+PSAwOyBqLS0pIHsKICAgICAgICAgICAgaWYoIWlzTGV0dGVyKG5ld0xpbmVbaV1bal0pKSB7CiAgICAgICAgICAgICAgIG5ld0xpbmVbaV0gPSBuZXdMaW5lW2ldLnN1YnN0cihqLCBuZXdMaW5lW2ldLmxlbmd0aCgpIC0gaikgKyBuZXdMaW5lW2ldLnN1YnN0cigwLCBqKTsKICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY291dCA8PCBuZXdMaW5lW2ldIDw8ICJcbiI7Ki8KICAgIH0KICAgIHJldHVybiAwOwp9Cg==