javascript math 1948ms
\nconst ll = BigInt;\n\nconst abbreviateProduct = (l, r) => {\n    let p = 1n, e = 0, over10 = false, prePow = 1;\n    for (let x = l; x <= r; x++) {\n        p
```\nconst ll = BigInt;\n\nconst abbreviateProduct = (l, r) => {\n    let p = 1n, e = 0, over10 = false, prePow = 1;\n    for (let x = l; x <= r; x++) {\n        p *= ll(x);\n        while (p % 10n == 0) {\n            p /= 10n;\n            e++;\n        }\n        prePow += Math.log10(x);\n        while (prePow > 100) prePow--;\n        if (p > 1e10) {\n            over10 = true;\n            p %= ll(1e10);\n        }\n    }\n    p = Number(p);\n    if (!over10) return p + \'e\' + e;\n    let pre = (10 ** prePow) + \'\', suf = p + \'\';\n    pre.indexOf(\'e\') == -1 ? pre = pre.slice(0, 5) : pre = pre[0] + pre.slice(2, 6);\n    suf = \'...\' + suf.slice(-5) + \'e\' + e;\n    return pre + suf;\n};\n```
['Math', 'JavaScript']