function mergeSort(l, r) {
if (l >= r) return;
const m = Math.floor((l + r) / 2);
mergeSort(l, m);
mergeSort(m + 1, r);
merge(l, m, r);
}
function merge(l, m, r) {
let i = l, j = m + 1, k = l;
while (i <= m && j <= r) {
if (arr[i] <= arr[j]) arr[k++] = arr[i++];
else arr[k++] = arr[j++];
}
while (i <= m) arr[k++] = arr[i++];
while (j <= r) arr[k++] = arr[j++];
}