#include <algorithm>
const int ful = (1 << (1 << 4)) - 1;
int tt[ful + 5];
unsigned tmp[100000005];
void sort(unsigned *a, int n) {
n--;
for (register int C = 0; C <= 1; C++) {
for (register int i = 0; i <= ful; i++) tt[i] = 0;
for (register int i = 0; i <= n; i++) ++tt[(a[i] >> (C << 4)) & ful];
for (register int i = 1; i <= ful; i++) tt[i] += tt[i - 1];
for (register int i = n; i >= 0; i--) tmp[--tt[(a[i] >> (C << 4)) & ful]] = a[i];
for (register int i = 0; i <= n; i++) a[i] = tmp[i];
}
}