#include <iostream>
using namespace std;
void readLine (char buffer[])
{
char character;
int i = 0;
do
{
character = getchar ();
buffer[i] = character;
++i;
}
while ( character != EOF );
buffer[i - 1] = '\0';
}
int main (void)
{
int i,x,liczby,wyrazy;
char line[1000000]={'\0'};
for(i=0;i<1000000;i++)
line[i]='\0';
void readLine (char buffer[]);
readLine (line);
wyrazy=0;liczby=0;
for(i=0;i<1000000;i++)
{
x=line[i];
// printf("%i\n",x);
if(x==10 && i>0)
{
if((line[i-1]>=65 && line[i]<=90) || (line[i-1]>=97 && line[i-1]<=122))
{
wyrazy++;
}
else if(line[i-1]>=48 && line[i-1]<=57)
{
liczby++;
}
printf("%i %i\n",liczby,wyrazy);
wyrazy=0;liczby=0;
}
else if(x==32 && i>0)
{
if((line[i-1]>=65 && line[i]<=90) || (line[i-1]>=97 && line[i-1]<=122))
{
wyrazy++;
}
else if(line[i-1]>=48 && line[i-1]<=57)
{
liczby++;
}
}
else if (x==0 && i>0)
{
if((line[i-1]>=65 && line[i]<=90) || (line[i-1]>=97 && line[i-1]<=122))
{
wyrazy++;
}
else if(line[i-1]>=48 && line[i-1]<=57)
{
liczby++;
}
printf("%i %i\n",liczby,wyrazy); break;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCByZWFkTGluZSAoY2hhciBidWZmZXJbXSkKewpjaGFyIGNoYXJhY3RlcjsKaW50IGkgPSAwOwpkbwp7CmNoYXJhY3RlciA9IGdldGNoYXIgKCk7CmJ1ZmZlcltpXSA9IGNoYXJhY3RlcjsKKytpOwp9CndoaWxlICggY2hhcmFjdGVyICE9IEVPRiApOwpidWZmZXJbaSAtIDFdID0gJ1wwJzsKfQoKCgoKCgoKCgppbnQgbWFpbiAodm9pZCkKewoKaW50IGkseCxsaWN6Ynksd3lyYXp5OwpjaGFyIGxpbmVbMTAwMDAwMF09eydcMCd9OwoKZm9yKGk9MDtpPDEwMDAwMDA7aSsrKQpsaW5lW2ldPSdcMCc7Cgp2b2lkIHJlYWRMaW5lIChjaGFyIGJ1ZmZlcltdKTsJCnJlYWRMaW5lIChsaW5lKTsKCnd5cmF6eT0wO2xpY3pieT0wOwoJCgpmb3IoaT0wO2k8MTAwMDAwMDtpKyspCnsKCXg9bGluZVtpXTsKLy8JcHJpbnRmKCIlaVxuIix4KTsKCWlmKHg9PTEwICYmIGk+MCkKewoJaWYoKGxpbmVbaS0xXT49NjUgJiYgbGluZVtpXTw9OTApIHx8IChsaW5lW2ktMV0+PTk3ICYmIGxpbmVbaS0xXTw9MTIyKSkKCXsKCQl3eXJhenkrKzsKCQkKCX0KCWVsc2UgaWYobGluZVtpLTFdPj00OCAmJiBsaW5lW2ktMV08PTU3KQoJewoJCWxpY3pieSsrOwoJfQoKCgoKCnByaW50ZigiJWkgJWlcbiIsbGljemJ5LHd5cmF6eSk7Cgl3eXJhenk9MDtsaWN6Ynk9MDsKfQplbHNlIGlmKHg9PTMyICYmIGk+MCkKewoJaWYoKGxpbmVbaS0xXT49NjUgJiYgbGluZVtpXTw9OTApIHx8IChsaW5lW2ktMV0+PTk3ICYmIGxpbmVbaS0xXTw9MTIyKSkKCXsKCQl3eXJhenkrKzsKCQkKCX0KCWVsc2UgaWYobGluZVtpLTFdPj00OCAmJiBsaW5lW2ktMV08PTU3KQoJewoJCWxpY3pieSsrOwoJfQp9CgplbHNlIGlmICh4PT0wICYmIGk+MCkKewoKCWlmKChsaW5lW2ktMV0+PTY1ICYmIGxpbmVbaV08PTkwKSB8fCAobGluZVtpLTFdPj05NyAmJiBsaW5lW2ktMV08PTEyMikpCgl7CgkJd3lyYXp5Kys7CgkJCgl9CgllbHNlIGlmKGxpbmVbaS0xXT49NDggJiYgbGluZVtpLTFdPD01NykKCXsKCQlsaWN6YnkrKzsKCX0KcHJpbnRmKCIlaSAlaVxuIixsaWN6Ynksd3lyYXp5KTsgYnJlYWs7Cn0JCQoKCn0KCgoKCnJldHVybiAwOwp9