// Like LRS.java and SuffixArray.java from ../book, but using Quick3string.
// Usage: java LRSQuick3 < input.txt

class SuffixArrayQuick3
{
    private final String[] suffixes;
    private final int N;
    public SuffixArrayQuick3(String s) {
        N = s.length();
        suffixes = new String[N];
        for (int i = 0; i < N; i++)
            suffixes[i] = s.substring(i);
        Quick3string.sort(suffixes);
    }
    // size of string
    public int length() { return N; }
    // ith sorted suffix
    public String select(int i) { return suffixes[i]; }
   // length of longest common prefix of s and t
    private static int lcp(String s, String t) {
        int N = Math.min(s.length(), t.length());
        for (int i = 0; i < N; i++)
            if (s.charAt(i) != t.charAt(i)) return i;
        return N;
    }
    // longest common prefix of suffixes(i) and suffixes(i-1)
    public int lcp(int i) {
        return lcp(suffixes[i], suffixes[i-1]);
    }
}

public class LRSQuick3
{
    public static void main(String[] args)
    {
        String text = StdIn.readAll().replaceAll("\\s+", " ");
        SuffixArrayQuick3 sa = new SuffixArrayQuick3(text);
        int N = sa.length();
        String lrs = "";
        for (int i = 1; i < N; i++) {
            int length = sa.lcp(i);
            if (length > lrs.length())
                lrs = sa.select(i).substring(0, length);
        }
        StdOut.println("'" + lrs + "'");
    }
}
