public static void divideSort(int[] a, int low, int high, int[] nn) {
		
		if (low == high) return;
		
		int low1 = low;
		int high2 = high;
		int high1 = (high - low)/2 + low;
		int low2 = high1 + 1;
		
		divideSort(a, low1, high1, nn);
		divideSort(a, low2, high2, nn);
		sortTwoSortedPartsInPlace(a, low1, high1, low2, high2, nn);
		
	}