#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4")
void sort(unsigned *a,int n){
int c0[257],c1[257],c2[257],c3[257];
unsigned b[100000005];
for (register int i=0;i<n;++i)
++c0[a[i]&255],++c1[a[i]>>8&255],++c2[a[i]>>16&255],++c3[a[i]>>24];
for (register int i=1;i<256;++i)
c0[i]+=c0[i-1],c1[i]+=c1[i-1],c2[i]+=c2[i-1],c3[i]+=c3[i-1];
for (register int i=n-1;~i;--i)
b[--c0[a[i]&255]]=a[i];
for (register int i=n-1;~i;--i)
a[--c1[b[i]>>8&255]]=b[i];
for (register int i=n-1;~i;--i)
b[--c2[a[i]>>16&255]]=a[i];
for (register int i=n-1;~i;--i)
a[--c3[b[i]>>24]]=b[i];
}