#pragma GCC optimize(3, "Ofast", "unroll-loops", "-funroll-loops")#include<bits/stdc++.h>usingnamespacestd;
using i32 = int;
using i64 = longlong;
using i128 = __int128;
using u32 = unsignedint;
using u64 = unsignedlonglong;
using u128 = unsigned __int128;
voidsort(unsigned *a, int n){
for (int len = 1; len < n; len <<= 1) {
for (int i = 0; i + len < n; i += len << 1) {
int l = i, r = i + len, cnt = len;
while (r < i + (len << 1) && l < r) {
int p = l;
if (l + cnt < r) {
p += cnt;
}
if (a[p] < a[r]) {
swap(a[l], a[p]);
l += 1;
cnt -= 1;
} else {
swap(a[l], a[r]);
l += 1;
r += 1;
}
}
}
}
}