Given three strings <code>a</code>, <code>b</code>, and <code>c</code>, your task is to find a string that has the<strong> minimum</strong> length and contains all three strings as <strong>substrings</strong>. <p>If there are multiple such strings, return the<em> </em><strong>lexicographically<em> </em>smallest </strong>one.</p> <p>Return <em>a string denoting the answer to the problem.</em></p> <p><strong>Notes</strong></p> <ul> <li>A string <code>a</code> is <strong>lexicographically smaller</strong> than a string <code>b</code> (of the same length) if in the first position where <code>a</code> and <code>b</code> differ, string <code>a</code> has a letter that appears <strong>earlier </strong>in the alphabet than the corresponding letter in <code>b</code>.</li> <li>A <strong>substring</strong> is a contiguous sequence of characters within a string.</li> </ul> <p> </p> <p><strong class="example">Example 1:</strong></p> <pre> <strong>Input:</strong> a = "abc", b = "bca", c = "aaa" <strong>Output:</strong> "aaabca" <strong>Explanation:</strong> We show that "aaabca" contains all the given strings: a = ans[2...4], b = ans[3..5], c = ans[0..2]. It can be shown that the length of the resulting string would be at least 6 and "aaabca" is the lexicographically smallest one.</pre> <p><strong class="example">Example 2:</strong></p> <pre> <strong>Input:</strong> a = "ab", b = "ba", c = "aba" <strong>Output:</strong> "aba" <strong>Explanation: </strong>We show that the string "aba" contains all the given strings: a = ans[0..1], b = ans[1..2], c = ans[0..2]. Since the length of c is 3, the length of the resulting string would be at least 3. It can be shown that "aba" is the lexicographically smallest one. </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= a.length, b.length, c.length <= 100</code></li> <li><code>a</code>, <code>b</code>, <code>c</code> consist only of lowercase English letters.</li> </ul>