package p; class A<X>{ void x(){} } class B<T> extends A<T>{ protected void mmm(T t){} protected void n(){} } class C<S> extends A<S>{ protected void mmm(S s){} protected void n(){} }