Python (Simple BFS)
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution:\n    def findLexSmallestString(self, s, a, b):\n        n = len(s)\n\n        stack, min_val, visited = [s], s, {s}\n\n        while stack:\n            node = stack.pop(0)\n\n            min_val, str1 = min(min_val,node), ""\n\n            for i in range(n):\n                if i%2 == 1:\n                    str1 += str((int(node[i])+a)%10) \n                else:\n                    str1 += node[i]\n\n            if str1 not in visited:\n                stack.append(str1)\n                visited.add(str1)\n\n            str2 = node[-b:] + node[:-b]\n\n            if str2 not in visited:\n                stack.append(str2)\n                visited.add(str2)\n\n        return min_val\n```
['Python3']