Hard
Given a string s, consider all duplicated substrings: (contiguous) substrings that occur two or more times (the occurrences may overlap). Return the longest such substring; if there are several of the maximum length, return the lexicographically smallest one. If none exists, return "".
Input: s = "banana" Output: "ana"
Input: s = "abcd" Output: ""
Input: s = "aaaa" Output: "aaa"