class A(object):
def m(self, alpha):
print 'A.m', alpha
class B(A):
def m(self, alpha, beta):
print 'B.m', alpha, beta
super(B, self).m(alpha)
class C(B):
def m(self, alpha, beta, gamma):
print 'C.m', alpha, beta,
gamma
super(C, self).m(alpha, beta)
class D(B):
def m(self, alpha, beta, gamma, delta):
print 'D.m', alpha, beta, gamma,
delta
super(D, self).m(alpha, beta)
class E(C, D):
def m(self, alpha, beta, gamma, delta, epsilon):
print 'E.m', alpha, beta, gamma,
delta, epsilon
x = ???
super(E, self).m(alpha, *x)
E().m(1, 2, 3, 4, 5)