/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static float calcScore(int keyID, Map<Integer, Integer> frequencies, Map<Integer, Integer> subTax) {
		float res = 0f;
		int nodes = 0;
		if (frequencies.containsKey(keyID)) {
			System.out.println(keyID + "->" + frequencies.get(keyID));
			return frequencies.get(keyID) + 0f;
		}

		for (Map.Entry<Integer, Integer> entry : subTax.entrySet()) {
			if (entry.getValue() == keyID) {
				nodes++;
				res += calcScore(entry.getKey(), frequencies, subTax);
			}
		}
		return 1 / nodes * res;
	}
	
	public static void main(String[] args) {

		Map<Integer, Integer> subTaxonomy = new HashMap<>();
		subTaxonomy.put(1, 0);
		subTaxonomy.put(2, 1);
		subTaxonomy.put(3, 1);
		subTaxonomy.put(4, 2);
		subTaxonomy.put(17, 3);
		subTaxonomy.put(11, 4);
		subTaxonomy.put(13, 4);

		Map<Integer, Integer> frequencies = new HashMap<>();
		frequencies.put(11, 3);
		frequencies.put(13, 5);
		frequencies.put(17, 9);
		
		System.out.println(calcScore(1, frequencies, subTaxonomy));

	}
}