class Base: def foo(self): print("Base") class A(Base): def foo(self): print("A") super().foo() class B(Base): def foo(self): print("B") super().foo() class C(A, B): def foo(self): print("C") super().foo() class D(B, A): def foo(self): print("D") super().foo() class E(C, D): pass print("HEELLO")