import org.checkerframework.checker.nullness.qual.*;
class Super<S extends @Nullable Object> {
public void m(S p) {}
}
class Impl1<T extends @NonNull Object> extends Super<T> {
public void m(T p) {}
}
class Impl2<T> extends Super<T> {
public void m(T p) {}
}