A rotation of a string S is the operation of moving its first character to the end.
For example, if we rotate the string "abcde" we get the string "bcdea".
A cyclic shift of a string S is any string that can be obtained from S by a sequence of zero or more rotations.
For example, the strings "abcde", "cdeab", and "eabcd" are some of the cyclic shifts of the string "abcde".
Given two equally long strings, the smaller one is the one with a smaller character at the first index where they differ.
For example, "cable" < "cards" because 'b' < 'r'.
You are given a String s of lowercase letters and an int k.
You are allowed to change at most k letters of s into some other lowercase letters.
Your goal is to create a string that will have the smallest possible cyclic shift.
Compute and return that cyclic shift.