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

Given a string s consisting of lowercase English letters. Perform the following operation:

Select any non-empty substring then replace every letter of the substring with the preceding letter of the English alphabet. For example, 'b' is converted to 'a', and 'a' is converted to 'z'.

Return the lexicographically smallest string after performing the operation.
 
Please complete the following python code precisely:
```python
class Solution:
    def smallestString(self, s: str) -> str:
```