import java.util.*;
import java.lang.*;
class Main
{
public static <K,V> Set<K> keysOfDupValues(Map<K,V> m) {
Set<K> res = new HashSet<K>();
Map<V,K> seen = new HashMap<V,K>();
for (Map.
Entry<K,V
> e
: m.
entrySet()) { V v = e.getValue();
K k = e.getKey();
if (seen.containsKey(v)) {
res.add(k);
res.add(seen.get(v));
} else {
seen.put(v, k);
}
}
return res;
}
{
m.put(100, 1);
m.put(200, 2);
m.put(300, 3);
m.put(400, 2);
Set<Integer> x = keysOfDupValues(m);
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CgpjbGFzcyBNYWluCnsKICAgIHB1YmxpYyBzdGF0aWMgPEssVj4gU2V0PEs+IGtleXNPZkR1cFZhbHVlcyhNYXA8SyxWPiBtKSB7CiAgICAgICAgU2V0PEs+IHJlcyA9IG5ldyBIYXNoU2V0PEs+KCk7CiAgICAgICAgTWFwPFYsSz4gc2VlbiA9IG5ldyBIYXNoTWFwPFYsSz4oKTsKICAgICAgICBmb3IgKE1hcC5FbnRyeTxLLFY+IGUgOiBtLmVudHJ5U2V0KCkpIHsKICAgICAgICAgICAgViB2ID0gZS5nZXRWYWx1ZSgpOwogICAgICAgICAgICBLIGsgPSBlLmdldEtleSgpOwogICAgICAgICAgICBpZiAoc2Vlbi5jb250YWluc0tleSh2KSkgewogICAgICAgICAgICAgICAgcmVzLmFkZChrKTsKICAgICAgICAgICAgICAgIHJlcy5hZGQoc2Vlbi5nZXQodikpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgc2Vlbi5wdXQodiwgayk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlczsKICAgIH0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewogICAgICAgIE1hcDxJbnRlZ2VyLEludGVnZXI+IG0gPSBuZXcgSGFzaE1hcDxJbnRlZ2VyLEludGVnZXI+KCk7CiAgICAgICAgbS5wdXQoMTAwLCAxKTsKICAgICAgICBtLnB1dCgyMDAsIDIpOwogICAgICAgIG0ucHV0KDMwMCwgMyk7CiAgICAgICAgbS5wdXQoNDAwLCAyKTsKICAgICAgICBTZXQ8SW50ZWdlcj4geCA9IGtleXNPZkR1cFZhbHVlcyhtKTsKICAgICAgICBmb3IgKEludGVnZXIgaSA6IHgpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGkpOwogICAgICAgIH0KCX0KfQ==