private static int sort(Comparable[] a, Comparable[] aux, int lo, int hi)
	{ // Sort a[lo..hi].
		int numAccess = 0;
		if (hi <= lo)
			return 0;
		int mid = lo + (hi - lo) / 2;
		numAccess += sort(a, aux, lo, mid); // Sort left half.
		numAccess += sort(a, aux, mid + 1, hi); // Sort right half.
		numAccess += merge(a, aux, lo, mid, hi); // Merge results (code on page
													// 271).
		return numAccess;
	}