/* 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
{ 
	abstract  class  Group< I extends  Item< I, G> , G extends  Group< I, G>> { 
     private  List< I>  items; 
     public  List< I>  getItems( ) {  return  null ;  } 
     public  void  setItems( List< I>  items) {  } 
} 
 
abstract  class  Item< I extends  Item< I, G> , G extends  Group< I, G>> { 
     private  List< G>  subGroups; 
     public  List< G>  getSubGroups( ) {  return  null ;  } 
     public  void  setSubGroups( List< G>  subGroups) {  } 
} 
 
class  AGroup extends  Group< AItem, AGroup>  {  }          // works 
class  AItem extends  Item< AItem, AGroup>  {  }            // works 
class  BGroup extends  Group< BItem, BGroup>  {  }          // works 
class  BItem extends  Item< BItem, BGroup>  {  }            // works 
class  MixedGroup extends  Group< AItem, MixedGroup>  {  }  // fails 
 
	{ 
		// your code goes here 
	} 
} 
 
				LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCWFic3RyYWN0IGNsYXNzIEdyb3VwPEkgZXh0ZW5kcyBJdGVtPEksIEc+LCBHIGV4dGVuZHMgR3JvdXA8SSwgRz4+ewogICAgIHByaXZhdGUgTGlzdDxJPiBpdGVtczsKICAgICBwdWJsaWMgTGlzdDxJPiBnZXRJdGVtcygpeyByZXR1cm4gbnVsbDsgfQogICAgIHB1YmxpYyB2b2lkIHNldEl0ZW1zKExpc3Q8ST4gaXRlbXMpeyB9Cn0KCmFic3RyYWN0IGNsYXNzIEl0ZW08SSBleHRlbmRzIEl0ZW08SSwgRz4sIEcgZXh0ZW5kcyBHcm91cDxJLCBHPj57CiAgICAgcHJpdmF0ZSBMaXN0PEc+IHN1Ykdyb3VwczsKICAgICBwdWJsaWMgTGlzdDxHPiBnZXRTdWJHcm91cHMoKXsgcmV0dXJuIG51bGw7IH0KICAgICBwdWJsaWMgdm9pZCBzZXRTdWJHcm91cHMoTGlzdDxHPiBzdWJHcm91cHMpeyB9Cn0KCmNsYXNzIEFHcm91cCBleHRlbmRzIEdyb3VwPEFJdGVtLCBBR3JvdXA+IHsgfSAgICAgICAgIC8vIHdvcmtzCmNsYXNzIEFJdGVtIGV4dGVuZHMgSXRlbTxBSXRlbSwgQUdyb3VwPiB7IH0gICAgICAgICAgIC8vIHdvcmtzCmNsYXNzIEJHcm91cCBleHRlbmRzIEdyb3VwPEJJdGVtLCBCR3JvdXA+IHsgfSAgICAgICAgIC8vIHdvcmtzCmNsYXNzIEJJdGVtIGV4dGVuZHMgSXRlbTxCSXRlbSwgQkdyb3VwPiB7IH0gICAgICAgICAgIC8vIHdvcmtzCmNsYXNzIE1peGVkR3JvdXAgZXh0ZW5kcyBHcm91cDxBSXRlbSwgTWl4ZWRHcm91cD4geyB9IC8vIGZhaWxzCgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCX0KfQ==
				
				 
				 
				 
				 
			 
			
				
			
			
				
	
		
	 
	
		  compilation info 
		 
	 
	Main.java:26: error: type argument Ideone.AItem is not within bounds of type-variable I
class MixedGroup extends Group<AItem, MixedGroup> { } // fails
                               ^
  where I,G are type-variables:
    I extends Ideone.Item<I,G> declared in class Ideone.Group
    G extends Ideone.Group<I,G> declared in class Ideone.Group
1 error
 
		
		 
	
		
		  stdout