Recursive JavaScript Solution
\n/**\n * @param {number} A\n * @param {number} B\n * @return {string}\n */\nvar strWithout3a3b = function(A, B) {\n    if (A === 0) return "b".repeat(B);\n    
```\n/**\n * @param {number} A\n * @param {number} B\n * @return {string}\n */\nvar strWithout3a3b = function(A, B) {\n    if (A === 0) return "b".repeat(B);\n    if (B === 0) return "a".repeat(A);\n    if (A === B) return "ab" + strWithout3a3b(A - 1, B - 1);\n    if (A > B) return "aab" + strWithout3a3b(A - 2, B - 1);\n    return "bba" + strWithout3a3b(A - 1, B - 2);\n};\n\n```
['Recursion', 'JavaScript']