sclass Splitter2 {
new HashMap> map;
// may return null if unknown
B get(A a) {
MultiSet ms = map.get(a);
ret ms == null ? null : ms.getMostPopularEntry();
}
void learn(A a, B b) {
MultiSet ms = map.get(a);
if (ms == null) map.put(a, ms = new MultiSet);
ms.add(b);
}
void clear { map.clear(); }
}