private static int partition(int[] arr, int left, int right) {
		int pivot = arr[left];
		while(left < right) {
			while(left < right && arr[right] >= pivot)
				right --;
			swap(arr, left, right);
			while(left < right && arr[left] <= pivot)
				left ++;
			swap(arr, left, right);
		}
		return right;
	}