Simplest C++
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 {\npublic:\n    string findLexSmallestString(string s, int a, int b) \n    {\n        unordered_set<string> st;\n        b = b%s.size();\n        \n        queue<string> q;\n        q.push(s);\n        st.insert(s);\n        while(q.size())\n        {\n            string curr = q.front();\n            q.pop();\n            string rot = curr; \n            for(int i = 1; i<curr.size();i=i+2)\n            {\n                int z = (curr[i] -\'0\'+ a)%10 ; \n                curr[i] = char(z+48);\n            }\n            reverse(rot.begin(), rot.end());\n            reverse(rot.begin(), rot.begin() + b);\n            reverse(rot.begin() + b, rot.end());\n            if(st.find(rot)==st.end())\n            {\n                q.push(rot);\n                st.insert(rot);\n            }\n            if(st.find(curr)==st.end())\n            {\n                q.push(curr);\n                st.insert(curr);\n            }\n                 \n        }\n       vector<string> v(st.begin(),st.end());\n       sort(v.begin(),v.end());\n       return v[0];\n        \n\n        \n    }\n};\n```
['C++']