public static boolean findPairWithSumAllowSort(final int[] numbers, int sum, int excludeIndex) {
		/*
		 * If allowed to change the original array
		 * O(nlogn+n)
		 */
		
		if(numbers.length == 0) {
			return false;
		}
	
		Arrays.sort(numbers);
		boolean found = false;
		int ahead = numbers.length - 1;
		int behind = 0;
		while (ahead > behind) {
			if (ahead == excludeIndex)
				ahead--;
			if (behind == excludeIndex)
				behind++;
			int curSum = numbers[ahead] + numbers[behind];
			if (curSum == sum) {
				System.out.println("Find: " + numbers[ahead] + ", " + numbers[behind]);
				found = true;
				break;
			} else if (curSum > sum)
				ahead--;
			else
				behind++;
		}
		return found;
	}