int partition(int[] A) {
		int rIndex = A.length - 1;
		int i = 0;
		while (i <= rIndex) {
			int cur = A[i];
			if (cur <= 0) {
				swap(A, i, rIndex);
				rIndex--;
			} else {
				i++;
			}
		}
		return rIndex + 1;
	}