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

You are given a string s and an integer k. You can choose one of the first k letters of s and append it at the end of the string.
Return the lexicographically smallest string you could have after applying the mentioned step any number of moves.
 
Please complete the following python code precisely:
```python
class Solution:
    def orderlyQueue(self, s: str, k: int) -> str:
```