#include<bits/stdc++.h>
using namespace std;
void sort(unsigned *a, int n){
const int Base=1<<8;
int r[5][Base],b[100000005]={0};
memset(r,0,sizeof(r));
for(int i=n;i;i--)swap(a[i],a[i-1]);
for(register int i=1;i<=n;i++){
++r[1][a[i]&0xff];
++r[2][(a[i]>>8)&0xff];
++r[3][(a[i]>>16)&0xff];
++r[4][a[i]>>24];
}
for(register int i=1;i<=0xff;i++)
for(register int j=1;j<=4;j++)
r[j][i]+=r[j][i-1];
for(register int i=n;i;i--)b[r[1][a[i] &0xff]--]=a[i];
for(register int i=n;i;i--)a[r[2][(b[i]>> 8)&0xff]--]=b[i];
for(register int i=n;i;i--)b[r[3][(a[i]>>16)&0xff]--]=a[i];
for(register int i=n;i;i--)a[r[4][(b[i]>>24) ]--]=b[i];
for(int i=1;i<=n;i++)swap(a[i],a[i-1]);
}