public static double readHashTopValue(HashMap<String, Integer> scores, int k) {
		List list = new LinkedList(scores.entrySet());
		int count = 0;
		int value = 0;
		double res = 0;
		for (Iterator it = list.iterator(); count < k && it.hasNext();) {
			Map.Entry entry = (Map.Entry) it.next();
			value = (Integer) entry.getValue();
			res += (double) value * Math.log(2) / Math.log(count + 2);
			// res += (Integer) entry.getValue();
			count++;
		}
		return res;
	}