c++ recursion 100%
\nclass Solution {\npublic:\n    string strWithout3a3b(int a, int b, string rtnstr = "") {\n        \n        int totalcount = a + b;\n        int counta = 2;\n
```\nclass Solution {\npublic:\n    string strWithout3a3b(int a, int b, string rtnstr = "") {\n        \n        int totalcount = a + b;\n        int counta = 2;\n        int countb = 2;\n        \n        if(totalcount == 0){\n            return rtnstr;\n        }\n            \n        if(rtnstr.size()>1){\n            \n            if(a < b and (std::strcmp(&rtnstr[rtnstr.size()-1], "b") == 0) and (std::strcmp(&rtnstr[rtnstr.size()-1], "b") == 0)){\n            rtnstr += "a";\n            a -= 1;\n            counta -= 1;\n            }\n            \n            if(b < a and std::strcmp(&rtnstr[rtnstr.size()-1], "a") == 0 and (std::strcmp(&rtnstr[rtnstr.size()-1], "a") == 0)){\n            rtnstr += "b";\n            b -= 1;\n            countb -= 1;\n        }\n        \n            \n        }\n        \n\n        \n        while(a >= b and a > 0 and counta > 0){\n            rtnstr += "a";\n            a -= 1;\n            counta -= 1;   \n        } \n\n            \n            \n        while(b>=a and b > 0 and countb > 0){\n            rtnstr += "b";\n            b -= 1;\n            countb -= 1;            \n        }\n\n            \n        \n        \n        rtnstr = strWithout3a3b(a,b, rtnstr);\n        \n        return rtnstr;\n        \n        \n    }\n};\n```
[]