#include <iostream>
#include <cstring>
using namespace std;
const int MAX_LENGTH = 1000;
int isWord (char x) {
if ((x >= 'A' && x <= 'Z') || (x >= 'a' && x <= 'z')) {
return 1;
}
return 0;
}
int main() {
char a[MAX_LENGTH], b[MAX_LENGTH + 1];
cin.getline(a, MAX_LENGTH);
int length = strlen(a);
// cout << length <<"<<--\n";
int words = 0, letter = 0, capitalLetter = 0;
for (int i = 0; i < length; ++i) {
if (a[i] >= 'A' && a[i] <= 'Z') {
++capitalLetter;
}
if (isWord(a[i]) == 1) {
letter = 1;
} else if (letter == 1) {
++words;
letter = 0;
}
b[i + 1] = a[i];
}
if(letter == 1) {
++words;
}
cout << length << " " << capitalLetter <<"<----\n";
int prime = 1;
for (int div = 2; div < capitalLetter; ++div) {
if (capitalLetter % div == 0) {
prime = 0;
}
}
if (capitalLetter == 1) {
prime = 0;
}
//---------> Am numarat cuvintele <-----------------------
int findMatch = 0,cntr = 0, pos2 = 0;;
for (int i = 1; i < length + 1; ++i) {
int flag = 1;
for (int j = i; j < length + 1 && flag == 1; ++j) {
if (b[i] == b[j] && (b[i] >= 'A' && b[i] <= 'Z')) {
++cntr;
//cout << cntr << " " << j <<"\n";
//i = cntr + 1;
//cout << i <<"<->" << j <<"<->"<< cntr <<"\n";
} else if (b[i] != b[j]) { // && cntr > findMatch
flag = 0;
if (cntr > findMatch) {
findMatch = cntr; // 3,
pos2 = j ;
}
//findMatch = cntr; // 3,
// pos2 = j ;
//cout << i << " " << j << " " << cntr<< " Nu-i identic" << "\n";
i = j - 1;
cntr = 0;
}
if ((cntr > findMatch && j == length) || j == length ) {
if (cntr > findMatch) {
findMatch = cntr;
pos2 = j;// 3,
}
i = j;
// cout << "DAAAA\n";
}
}
}
cout << findMatch << "<->" << pos2 << "\n";
int isPrime = 1;
for (int div = 2; div < findMatch; ++div) {
if (findMatch % div == 0) {
isPrime = 0;
}
}
if (findMatch == 1) {
isPrime = 0;
}
if (isPrime == 1 && capitalLetter == length) { // capitalLetter == length
cout << pos2 - findMatch <<" " << pos2 - 1;
} else {
cout << words;
}
return 0;
}