#include <algorithm>
#include<bits/stdc++.h>
using namespace std;
void qqsort(unsigned *a, int l, int r) {
//cout << l << ":" << r << endl;
if (l == r)
return;
int i = l+1, j = r, x = a[l];
while (i < j) {
while (i < j && a[i] <= x) ++i;
while (i < j && a[j] > x) --j;
if (i < j)
swap(a[i], a[j]);
}
if (a[i] > x)
--i;
swap(a[l], a[i]);
if (l <= i-1) qqsort(a, l, i-1);
if (i+1 <= r)
qqsort(a, i + 1, r);
}
void sort(unsigned *a, int n) {
qqsort(a, 0, n-1);
}