#include<bits/stdc++.h>
using namespace std;
void quicksort(unsigned *a, int left, int right) {
if (left >= right) return;
unsigned pivot = a[(left + right + 1) >> 1];
int l = left - 1, r = right + 1;
while (true) {
do l++; while (a[l] < pivot);
do r--; while (a[r] > pivot);
if (l >= r) break;
swap(a[l], a[r]);
}
quicksort(a, left, r - 1);
quicksort(a, r, right);
}
void qqsort(unsigned *a, int n) {
quicksort(a, 0, n - 1);
}