Diamond Inheritance MRO Order

class A:
    def greet(self):
        return "A"

class B(A):
    def greet(self):
        return "B->" + super().greet()

class C(A):
    def greet(self):
        return "C->" + super().greet()

class D(B, C):
    def greet(self):
        return "D->" + super().greet()

List the class names in D.__mro__, in order, separated by commas and spaces (for example: X, Y, Z).