class A:
def __init__(self, a, **kwargs):
print("A", a)
super().__init__(**kwargs)
class B:
def __init__(self, b, **kwargs):
print("B", b)
super().__init__(**kwargs)
class C(A, B):
pass
class D(B, A):
pass
class E(A, B):
def __init__(self, e, **kwargs):
print("E", e)
super().__init__(**kwargs)
class F(C, E):
pass
C(a=1, b=2)
D(a=4, b=3)
E(a=6, b=7, e=5)
F(a=9, b=10, e=8)
print(*[klass.__name__ for klass in F.mro()], sep=' -> ')
Y2xhc3MgQToKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhLCAqKmt3YXJncyk6CiAgICAgICAgcHJpbnQoIkEiLCBhKQogICAgICAgIHN1cGVyKCkuX19pbml0X18oKiprd2FyZ3MpCgoKY2xhc3MgQjoKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBiLCAqKmt3YXJncyk6CiAgICAgICAgcHJpbnQoIkIiLCBiKQogICAgICAgIHN1cGVyKCkuX19pbml0X18oKiprd2FyZ3MpCgoKY2xhc3MgQyhBLCBCKToKICAgIHBhc3MKCgpjbGFzcyBEKEIsIEEpOgogICAgcGFzcwoKCmNsYXNzIEUoQSwgQik6CiAgICBkZWYgX19pbml0X18oc2VsZiwgZSwgKiprd2FyZ3MpOgogICAgICAgIHByaW50KCJFIiwgZSkKICAgICAgICBzdXBlcigpLl9faW5pdF9fKCoqa3dhcmdzKQoKCmNsYXNzIEYoQywgRSk6CiAgICBwYXNzCgoKQyhhPTEsIGI9MikKRChhPTQsIGI9MykKRShhPTYsIGI9NywgZT01KQpGKGE9OSwgYj0xMCwgZT04KQpwcmludCgqW2tsYXNzLl9fbmFtZV9fIGZvciBrbGFzcyBpbiBGLm1ybygpXSwgc2VwPScgLT4gJykK