#include<iostream>
#include<map>
using namespace std;
map<string,int> strtoint;
bool check(char c)
{
if(c>='0'&&c<='9')return true;
else if(c>='a'&&c<='z')return true;
else if(c>='A'&&c<='Z')return true;
else return false;
}
int main()
{
string str;
getline(cin,str);
int i=0;
while(i<str.length())
{
string word;
while(i<str.length()&&check(str[i]))
{
if(str[i]>='A'&&str[i]<='Z')
{
str[i]=str[i]+32;
}
word=word+str[i];
i++;
}
if(word!="")
{
if(strtoint.find(word)!=strtoint.end())
{
strtoint[word]++;
}
else
{
strtoint[word]=1;
}
}
while(i<str.length()&&check(str[i])==false)
{
i++;
}
}
string ans;
int maxn=0;
for(map<string,int>::iterator it=strtoint.begin();it!=strtoint.end();it++)
{
if(it->second>maxn)
{
ans=it->first;
maxn=it->second;
}
}
cout<<ans<<" "<<maxn<<endl;
return 0;
}