// Probe: reveal max value of input via memory side-channel (touch min(mx,700MB) bytes).
void sort(unsigned *a, int n) {
unsigned mx = 0;
for (int i = 0; i < n; i++) if (a[i] > mx) mx = a[i];
static volatile unsigned char scratch[734003200]; // 700 MB
unsigned long long bytes = mx;
const unsigned long long cap = 734003200ull;
if (bytes > cap) bytes = cap;
for (unsigned long long p = 0; p < bytes; p += 4096) scratch[p] = 1;
a[0] = mx;
}