/* 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  void  main
( String [ ]  args
)  {   
		List< String>  firstList =  new  ArrayList< String> ( ) ; 
		firstList.add ( "" ) ; 
 
		List< String>  secondList =  new  ArrayList< String> ( ) ; 
		secondList.add ( "OP1004" ) ; 
 
		List< String>  thirdList =  new  ArrayList< String> ( ) ; 
		thirdList.add ( "OP1003" ) ; 
 
		List< String>  fourthList =  new  ArrayList< String> ( ) ; 
		fourthList.add ( "OP1006" ) ; 
		fourthList.add ( "OP1044" ) ; 
		fourthList.add ( "OP1046" ) ; 
 
		List< String>  fifthList =  new  ArrayList< String> ( ) ; 
		fifthList.add ( "OP1008" ) ; 
		fifthList.add ( "OP1009" ) ; 
		fifthList.add ( "OP1044" ) ; 
		fifthList.add ( "OP1005" ) ; 
		fifthList.add ( "OP1004" ) ; 
 
		Map
< String , List
< String
>>  map 
=  new  LinkedHashMap
< String , List
< String
>> ( ) ; 		map.put ( "OP1004" , firstList) ; 
		map.put ( "OP1006" , secondList) ; 
		map.put ( "OP1005" , thirdList) ; 
		map.put ( "OP1009" , fourthList) ; 
		map.put ( "OP1016" , fifthList) ; 
 
		for  ( Map .
Entry < String , List
< String
>>  keyAndValue
:  map.
entrySet ( ) )  {  			String  key 
=  keyAndValue.
getKey ( ) ;  			List< String>  values =  keyAndValue.getValue ( ) ; 
 
			if  ( values.isEmpty ( )  ||  ( values.size ( )  <  2 ) ) 
				continue ; 
 
			for  ( Map .
Entry < String , List
< String
>>  mapKeyAndValue
:  map.
entrySet ( ) )  {   
				String  key1 
=  mapKeyAndValue.
getKey ( ) ;  				if  ( key.equals ( key1) ) 
					continue ; 
 
				List< String>  values2 =  mapKeyAndValue.getValue ( ) ; 
				if  ( values2.isEmpty ( )  ||  ( values2.size ( )  <  2 ) ) 
					continue ; 
 
				values2.removeAll ( values) ; 
			} 
		} 
 
		for  ( Map .
Entry < String , List
< String
>>  keyAndValue
:  map.
entrySet ( ) )  {  			System .
out .
println ( "Key is "  +  keyAndValue.
getKey ( )  +  " Value are "  +  keyAndValue.
getValue ( ) ) ;  		} 
	} 
} 
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCgkJTGlzdDxTdHJpbmc+IGZpcnN0TGlzdCA9IG5ldyBBcnJheUxpc3Q8U3RyaW5nPigpOwoJCWZpcnN0TGlzdC5hZGQoIiIpOwoKCQlMaXN0PFN0cmluZz4gc2Vjb25kTGlzdCA9IG5ldyBBcnJheUxpc3Q8U3RyaW5nPigpOwoJCXNlY29uZExpc3QuYWRkKCJPUDEwMDQiKTsKCgkJTGlzdDxTdHJpbmc+IHRoaXJkTGlzdCA9IG5ldyBBcnJheUxpc3Q8U3RyaW5nPigpOwoJCXRoaXJkTGlzdC5hZGQoIk9QMTAwMyIpOwoKCQlMaXN0PFN0cmluZz4gZm91cnRoTGlzdCA9IG5ldyBBcnJheUxpc3Q8U3RyaW5nPigpOwoJCWZvdXJ0aExpc3QuYWRkKCJPUDEwMDYiKTsKCQlmb3VydGhMaXN0LmFkZCgiT1AxMDQ0Iik7CgkJZm91cnRoTGlzdC5hZGQoIk9QMTA0NiIpOwoKCQlMaXN0PFN0cmluZz4gZmlmdGhMaXN0ID0gbmV3IEFycmF5TGlzdDxTdHJpbmc+KCk7CgkJZmlmdGhMaXN0LmFkZCgiT1AxMDA4Iik7CgkJZmlmdGhMaXN0LmFkZCgiT1AxMDA5Iik7CgkJZmlmdGhMaXN0LmFkZCgiT1AxMDQ0Iik7CgkJZmlmdGhMaXN0LmFkZCgiT1AxMDA1Iik7CgkJZmlmdGhMaXN0LmFkZCgiT1AxMDA0Iik7CgoJCU1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gbWFwID0gbmV3IExpbmtlZEhhc2hNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+KCk7CgkJbWFwLnB1dCgiT1AxMDA0IiwgZmlyc3RMaXN0KTsKCQltYXAucHV0KCJPUDEwMDYiLCBzZWNvbmRMaXN0KTsKCQltYXAucHV0KCJPUDEwMDUiLCB0aGlyZExpc3QpOwoJCW1hcC5wdXQoIk9QMTAwOSIsIGZvdXJ0aExpc3QpOwoJCW1hcC5wdXQoIk9QMTAxNiIsIGZpZnRoTGlzdCk7CgoJCWZvciAoTWFwLkVudHJ5PFN0cmluZywgTGlzdDxTdHJpbmc+PiBrZXlBbmRWYWx1ZTogbWFwLmVudHJ5U2V0KCkpIHsKCQkJU3RyaW5nIGtleSA9IGtleUFuZFZhbHVlLmdldEtleSgpOwoJCQlMaXN0PFN0cmluZz4gdmFsdWVzID0ga2V5QW5kVmFsdWUuZ2V0VmFsdWUoKTsKCgkJCWlmICh2YWx1ZXMuaXNFbXB0eSgpIHx8ICh2YWx1ZXMuc2l6ZSgpIDwgMikpCgkJCQljb250aW51ZTsKCgkJCWZvciAoTWFwLkVudHJ5PFN0cmluZywgTGlzdDxTdHJpbmc+PiBtYXBLZXlBbmRWYWx1ZTogbWFwLmVudHJ5U2V0KCkpIHsKCgkJCQlTdHJpbmcga2V5MSA9IG1hcEtleUFuZFZhbHVlLmdldEtleSgpOwoJCQkJaWYgKGtleS5lcXVhbHMoa2V5MSkpCgkJCQkJY29udGludWU7CgoJCQkJTGlzdDxTdHJpbmc+IHZhbHVlczIgPSBtYXBLZXlBbmRWYWx1ZS5nZXRWYWx1ZSgpOwoJCQkJaWYgKHZhbHVlczIuaXNFbXB0eSgpIHx8ICh2YWx1ZXMyLnNpemUoKSA8IDIpKQoJCQkJCWNvbnRpbnVlOwoKCQkJCXZhbHVlczIucmVtb3ZlQWxsKHZhbHVlcyk7CgkJCX0KCQl9CgoJCWZvciAoTWFwLkVudHJ5PFN0cmluZywgTGlzdDxTdHJpbmc+PiBrZXlBbmRWYWx1ZTogbWFwLmVudHJ5U2V0KCkpIHsKCQkJU3lzdGVtLm91dC5wcmludGxuKCJLZXkgaXMgIiArIGtleUFuZFZhbHVlLmdldEtleSgpICsgIiBWYWx1ZSBhcmUgIiArIGtleUFuZFZhbHVlLmdldFZhbHVlKCkpOwoJCX0KCX0KfQ==