void quick_sort(int a[],int x,int y)
{
int xx = x,yy = y;
int k = a[x];
if(x >= y) return;
while(xx != yy)
{
while(xx < yy && a[yy] >= k) yy--;
a[xx] = a[yy];
while(xx < yy && a[xx] <= k) xx++;
a[yy] = a[xx];
}
a[xx] = k;
quick_sort(a,x,xx-1);
quick_sort(a,xx+1,y);
{
int xx = x,yy = y;
int k = a[x];
if(x >= y) return;
while(xx != yy)
{
while(xx < yy && a[yy] >= k) yy--;
a[xx] = a[yy];
while(xx < yy && a[xx] <= k) xx++;
a[yy] = a[xx];
}
a[xx] = k;
quick_sort(a,x,xx-1);
quick_sort(a,xx+1,y);
}