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;
    }
	public static void main (String[] args) throws java.lang.Exception
	{
        Map<Integer,Integer> m = new HashMap<Integer,Integer>();
        m.put(100, 1);
        m.put(200, 2);
        m.put(300, 3);
        m.put(400, 2);
        Set<Integer> x = keysOfDupValues(m);
        for (Integer i : x) {
            System.out.println(i);
        }
	}
}