void Qsort ( int l , int r )
{
if ( l >= r ) return ;
int i = l , j = r + 1 ;
sh pivot = tmpsum[l];
while ( true )
{
do {
i ++ ;
}while ( tmpsum[i].sum < pivot.sum ) ;
do {
j -- ;
}while ( tmpsum[j].sum > pivot.sum ) ;
if ( i >= j ) break;
tmpsum1 = tmpsum[i];
tmpsum[i] = tmpsum[j];
tmpsum[j] = tmpsum1;
}
tmpsum[l]= tmpsum[j];
tmpsum[j] = pivot ;
Qsort(l,j-1);
Qsort(j+1,r);
}