class A {
abstract foo();
}
class B extends A {}
abstract class C extends A {}
class D extends A {
foo() {}
abstract class E extends A {
abstract class AA {
class BB extends AA {}
abstract class CC extends AA {}
class DD extends AA {