import java.util.*;
class Pair{
int n;
String s;
Pair(int n,String s){
this.n = n;
this.s = s;
}
}
public class Main{
public static List<Pair> fun(String str){
List<String> subs = new ArrayList<String>();
List<Pair> res = new ArrayList<Pair>();
int len = str.length();
for (int i = 0; i < len; i++)
{
String temp = str.substring(i, str.length());
subs.add(temp);
}
int maxCount = 1;
String sub = "";
int subLen = 1;
int count = 1;
//i为子串的长度
for (int i = 1; i < len; i++)
{
for (int j = 0; j < len - 1; j++)
{
count = 1;
for (int k = j + 1; k <= j + i && subs.get(k).length() >= i; k++)
{
String sub1 = subs.get(k).substring(0, i);
String sub2 = subs.get(j).substring(0, i);
if (sub1.equals(sub2))
{
count = count + 1;
break;
}
}
if (count >= 2)
{
if (i > subLen)
{
res.clear();
}
sub = subs.get(j).substring(0, i);
maxCount = count;
res.add(new Pair(maxCount, sub));
subLen = i;
}
}
}
class Pair{
int n;
String s;
Pair(int n,String s){
this.n = n;
this.s = s;
}
}
public class Main{
public static List<Pair> fun(String str){
List<String> subs = new ArrayList<String>();
List<Pair> res = new ArrayList<Pair>();
int len = str.length();
for (int i = 0; i < len; i++)
{
String temp = str.substring(i, str.length());
subs.add(temp);
}
int maxCount = 1;
String sub = "";
int subLen = 1;
int count = 1;
//i为子串的长度
for (int i = 1; i < len; i++)
{
for (int j = 0; j < len - 1; j++)
{
count = 1;
for (int k = j + 1; k <= j + i && subs.get(k).length() >= i; k++)
{
String sub1 = subs.get(k).substring(0, i);
String sub2 = subs.get(j).substring(0, i);
if (sub1.equals(sub2))
{
count = count + 1;
break;
}
}
if (count >= 2)
{
if (i > subLen)
{
res.clear();
}
sub = subs.get(j).substring(0, i);
maxCount = count;
res.add(new Pair(maxCount, sub));
subLen = i;
}
}
}
return res;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<Pair> res = new ArrayList<Pair>();
while(sc.hasNext()) {
String s = sc.nextLine();
res = fun(s);
for(Pair result : res) {
System.out.println(result.s+" "+result.n);
}
}
}
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<Pair> res = new ArrayList<Pair>();
while(sc.hasNext()) {
String s = sc.nextLine();
res = fun(s);
for(Pair result : res) {
System.out.println(result.s+" "+result.n);
}
}
}
}