Please solve the programming task below using a self-contained code snippet in a markdown code block.

Given three strings a, b, and c, your task is to find a string that has the minimum length and contains all three strings as substrings.
If there are multiple such strings, return the lexicographically smallest one.
Return a string denoting the answer to the problem.
Notes

A string a is lexicographically smaller than a string b (of the same length) if in the first position where a and b differ, string a has a letter that appears earlier in the alphabet than the corresponding letter in b.
A substring is a contiguous sequence of characters within a string.

 
Please complete the following python code precisely:
```python
class Solution:
    def minimumString(self, a: str, b: str, c: str) -> str:
```