import java.lang.*;
public class Main {
public static void main
(String[] args
) { B b = new B();
C<A> c = get(b);
}
static <TRet extends A, TArg extends TRet> C<TRet> get(TArg arg) {
return new C<TRet>();
}
}
class A {}
class B extends A {}
class C<T extends A> {
return "success";
}
}
aW1wb3J0IGphdmEubGFuZy4qOwoKcHVibGljIGNsYXNzIE1haW4gewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoJCUIgYiA9IG5ldyBCKCk7CgkJQzxBPiBjID0gZ2V0KGIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihjKTsKCX0KCQoJc3RhdGljIDxUUmV0IGV4dGVuZHMgQSwgVEFyZyBleHRlbmRzIFRSZXQ+IEM8VFJldD4gZ2V0KFRBcmcgYXJnKSB7CgkJcmV0dXJuIG5ldyBDPFRSZXQ+KCk7Cgl9Cn0KCmNsYXNzIEEge30KY2xhc3MgQiBleHRlbmRzIEEge30KY2xhc3MgQzxUIGV4dGVuZHMgQT4gewoJcHVibGljIFN0cmluZyB0b1N0cmluZygpIHsKCQlyZXR1cm4gInN1Y2Nlc3MiOwoJfQp9