// Durazzo

void quicksort(int * a, int l, int r)
{
int i, j, m, tmp;
if (l >= r) return;
i = l-1; j = r;
m = a[r];
while (i < j)
    {
    do i++; while ( a[i] < m );
    do j--; while ( a[j] > m );
    if (i < j) {
        tmp = a[i];
        a[i] = a[j]; a[j]= tmp;
	}
    }
tmp = a[i]; a[i] = a[r];  a[r]= tmp;

quicksort (a, l, i-1);
quicksort (a, i+1, r);
return;
}

void sort(int* a, int n)
{
quicksort (a, 0, n-1);
}


