import java.util.HashMap;
class Problem {
private int count;
private final HashMap
<String, Integer
> counts
;
public Problem() {
this.counts = new HashMap<>();
}
public void addName
(String name
) { counts.put(name, counts.getOrDefault(name, 0) + 1);
count++;
}
public double nameProportion
(String name
) { return counts.get(name) / (double) count;
}
public static void main
(String[] args
) { Problem namesCount = new Problem();
namesCount.addName("James");
namesCount.addName("John");
namesCount.addName("Mary");
namesCount.addName("Mary");
System.
out.
println("Fraction of Johns: " + namesCount.
nameProportion("John")); System.
out.
println("Fraction of Marys: " + namesCount.
nameProportion("Mary")); }
}
aW1wb3J0IGphdmEudXRpbC5IYXNoTWFwOwoKY2xhc3MgUHJvYmxlbSB7CiAgICBwcml2YXRlIGludCBjb3VudDsKICAgIHByaXZhdGUgZmluYWwgSGFzaE1hcDxTdHJpbmcsIEludGVnZXI+IGNvdW50czsKCiAgICBwdWJsaWMgUHJvYmxlbSgpIHsKICAgICAgICB0aGlzLmNvdW50cyA9IG5ldyBIYXNoTWFwPD4oKTsKICAgIH0KCiAgICBwdWJsaWMgdm9pZCBhZGROYW1lKFN0cmluZyBuYW1lKSB7CgkgICAgY291bnRzLnB1dChuYW1lLCBjb3VudHMuZ2V0T3JEZWZhdWx0KG5hbWUsIDApICsgMSk7CgkgICAgY291bnQrKzsKCX0KCiAgICBwdWJsaWMgZG91YmxlIG5hbWVQcm9wb3J0aW9uKFN0cmluZyBuYW1lKSB7CiAgICAgICAgcmV0dXJuIGNvdW50cy5nZXQobmFtZSkgLyAoZG91YmxlKSBjb3VudDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgUHJvYmxlbSBuYW1lc0NvdW50ID0gbmV3IFByb2JsZW0oKTsKCiAgICAgICAgbmFtZXNDb3VudC5hZGROYW1lKCJKYW1lcyIpOwogICAgICAgIG5hbWVzQ291bnQuYWRkTmFtZSgiSm9obiIpOwogICAgICAgIG5hbWVzQ291bnQuYWRkTmFtZSgiTWFyeSIpOwogICAgICAgIG5hbWVzQ291bnQuYWRkTmFtZSgiTWFyeSIpOwoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkZyYWN0aW9uIG9mIEpvaG5zOiAiICsgbmFtZXNDb3VudC5uYW1lUHJvcG9ydGlvbigiSm9obiIpKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkZyYWN0aW9uIG9mIE1hcnlzOiAiICsgbmFtZXNDb3VudC5uYW1lUHJvcG9ydGlvbigiTWFyeSIpKTsKICAgIH0KfQ==