It would be A and B
as of
java 5 you may override a method by returning a subclass of it's overriden return type, so A is correct.
B is correct because you can a Derived IS-A Base
C and D are incorrect because the new return type is not a subclass of Base
E is incorrect because you would need an explicit cast from Base to Derived