import java.io.*; import java.util.*; import java.lang.*; import java.lang.reflect.*; import java.lang.annotation.*; class TypeAnnoCls0 { } @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) @Repeatable(TypeAnno1Container.class) @interface TypeAnno1 { String value(); } @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) @Repeatable(TypeAnno2Container.class) @interface TypeAnno2 { String value(); } @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) @Repeatable(TypeAnno3Container.class) @interface TypeAnno3 { } @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) @interface TypeAnno1Container { TypeAnno1[] value(); } @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) @interface TypeAnno2Container { TypeAnno2[] value(); } @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) @interface TypeAnno3Container { TypeAnno3[] value(); } class TypeAnnoCls1 { public TypeAnnoCls1() {} } class TypeAnnoCls2 { public @TypeAnno1("TypeAnno1") TypeAnnoCls2() {} } class TypeAnnoCls3 { public @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 TypeAnnoCls3() {} } class TypeAnnoCls4 { public @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") TypeAnnoCls4() {} } class TypeAnnoCls5 { public @TypeAnno3 @TypeAnno3 @TypeAnno3 TypeAnnoCls5() {} } class TypeAnnoCls6 { public @TypeAnno3 TypeAnnoCls6() {} }