class A:
def m(self):
print("class A: m(self)")
class B(A):
def m(self):
print("class B(A): m(self)")
class C(A):
def m(self):
print("class C(A): m(self)")
class D(B, C):
def m(self):
print("class D(B, C): m(self)")
A.m(self)
B.m(self)
C.m(self)
do = D()
do.m()
'''
run:
class D(B, C): m(self)
class A: m(self)
class B(A): m(self)
class C(A): m(self)
'''