1/**2* @param {number} a3* @param {number} b4* @return {string}5*/6var strWithout3a3b = function (a, b) {7let r = "";89let A = "a",10AA = A + A;11let B = "b",12BB = B + B;1314while (a > 0 || b > 0) {15if (a > b) {16a = calculate(a, A, AA);17b = calculate(b, B, BB, true);18} else {19b = calculate(b, B, BB);20a = calculate(a, A, AA, true);21}22}2324return r;2526function calculate(v, s, ss, l = false) {27if (l) {28if (v > 0) {29(r += s), (v -= 1);30}3132return v;33}3435let c = v >= 2 && r[r.length - 1] !== s;3637r += c ? ss : s;38v -= c ? 2 : 1;3940return v;41}42};