#include<iostream>
#include<string>
#include<map>
using namespace std;
int main()
{
	map<string,int> mymap;
	string s;
	cin>>s;
	for(int i=0;i<s.size();i++)
	{
		for(int j=1;j<=s.size()-i;j++)
		{
			string str=s.substr(i,j);//substr()前面的是起始点,后面的是截取的长度!
			if(mymap.find(str)==mymap.end())
			{
				mymap[str]=1;
			}
			else
			{
				mymap[str]++;
			}
		}		
	}
	map<string,int>::iterator it;//
	for(it=mymap.begin();it!=mymap.end();it++)
	{
		if(it->second>1)
		{
			cout<<it->first<<" "<<it->second<<endl;//it->first it->second
		}
	}
	return 0;
}