import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String one_zero_string = in.nextLine();
TreeMap<String,Integer> map = new TreeMap<>();
int len = one_zero_string.length();
for(int i = 0;i<len;i++){
for(int j = i;j<=len;j++){
String key = one_zero_string.substring(i,j);
map.put(key,map.getOrDefault(key,0) + 1);
}
}
for(String str:map.keySet()){
if(str.equals("")) continue;
if(map.get(str) > 1) System.out.println(str + " " + map.get(str));
}
}
} import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
String str=sc.next();//先找子串,再统计次数
Map<String,Integer>map=new TreeMap<>();
for(int i = 0; i < str.length(); i++){
for (int j = i+1; j<=str.length(); j++){
String s=str.substring(i,j);
int fre=map.getOrDefault(s, 0);
map.put(s, fre+1);
}
}
for(Map.Entry<String, Integer>entry:map.entrySet()) {
if(entry.getValue()!=1)
System.out.println(entry.getKey()+" "+entry.getValue());
}
}
}
} import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
TreeMap<String, Integer> map = new TreeMap<>();
for (int i = 0; i < s.length(); i++) {
for (int j = i; j <s.length(); j++) {
String s1 = s.substring(i, j+1);
map.merge(s1, 1, Integer::sum);
}
}
for (Map.Entry<String, Integer> entry : map.entrySet()) {
if (entry.getValue()>1){
System.out.println(entry.getKey()+" "+entry.getValue());
}
}
}
}