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