• 注意:对于不存在的key,其value为对应基础数据类型(0、空串等)
#include<iostream>
#include<string>
#include<map>
using namespace std;

int main(){
  string s;
  while(cin>>s){
    map<string,int>mymap;
    for(int i=0;i<s.size();i++){//遍历所有子串
      for(int lenth=1;lenth<=s.size()-i;lenth++){
        mymap[s.substr(i,lenth)]++;
      }
    }
    map<string,int>::iterator it;//迭代器
    for(it=mymap.begin();it!=mymap.end();it++){
      if(it->second>1)cout<<it->first<<" "<<it->second<<endl;
    }
  }

  return 0;
}