class A, class B(A), class C(A), class D(B, C) where each defines who() returning its letter except B (which doesn't define it) — write the classes and a function resolve() returning D().who(). Python's C3 linearization checks D → B → C → A; since B lacks who(), C's wins. Return that answer and be ready to explain D.__mro__.resolve()
'C'
MRO order D, B, C, A — the first class providing who() is C.
Print D.__mro__ while experimenting.
Method lookup walks the MRO left to right.