int partitionNew(int n[],int left,int right)
{
int lo;
lo=left;
int val=n[left];
int hi=right;
while(lo<hi){
	while(lo<hi && n[hi]>=val)
	{
	//	if(n[hi]<val)
	//	{
		  // printf("%d<%d:n[%d]<n[%d]\n",n[hi],n[lo],hi,lo);
		  
		  // printf("n[%d]=n[%d]\n",lo,hi);
		  // printArry(n,8);
		  // break;
		//}
		//else
		--hi;
	}
	 n[lo]=n[hi];	
	while(lo<hi && n[lo]<=val)
	{
		//if(n[lo]>val)
		//{
		//	printf("%d>%d:n[%d]>n[%d]\n",n[lo],n[hi],lo,hi);
		//	n[hi]=n[lo];
		//	printf("n[%d]=n[%d]\n",hi,lo);
		//	printArry(n,8);
		//	break;
		//}
		//else
		++lo;
	}
		n[hi]=n[lo];
}

n[lo]=val;
printArry(n,8);
static counter=0;
printf("%d:val=%d,return %d\n",++counter,val,lo);

return lo;//<=>return hi
}