void quicksort(int l, int u){
if(l >= u) return;
swap(l,rand(l,u));
int m = l;
for(int i = l+1; i<= u; i++) if(x[i] < x[l])
swap(++m, i);
swap(l, m);
quicksort(l, m-1);
quicksort(m+1, u);
}
void quicksort(int l, int u){
if(l >= u) return;
swap(l,rand(l,u));
int m = l;
for(int i = l+1; i<= u; i++) if(x[i] < x[l])
swap(++m, i);
swap(l, m);
quicksort(l, m-1);
quicksort(m+1, u);
}