public int merge3(int[] population) {
		long[] sum_table = new long[population.length + 1];
		Arrays.sort(population);
		for (int i = 0; i < population.length; i++) {
			sum_table[i + 1] = population[i] + sum_table[i];
		}
		for (int j = population.length - 1; j >= 0; j--) {
			if (sum_table[j] < population[j]) {
				return population.length - j;
			}
		}
		return -1;
	}