class A(object):
def __init__(self):
self.start()
print('running')
self.stop()
def start(self):
print('A start')
def stop(self):
print('A stop')
class mixin(object):
def start(self):
super(mixin, self).start()
print('mixin start')
def stop(self):
print('mixin stop')
super(mixin, self).stop()
class B(mixin, A):
def start(self):
super(B, self).start()
print('B start')
def stop(self):
print('B stop')
super(B, self).stop()
B()
CmNsYXNzIEEob2JqZWN0KToKCglkZWYgX19pbml0X18oc2VsZik6CgkJc2VsZi5zdGFydCgpCgkJcHJpbnQoJ3J1bm5pbmcnKQoJCXNlbGYuc3RvcCgpCgoJZGVmIHN0YXJ0KHNlbGYpOgoJCXByaW50KCdBIHN0YXJ0JykKCglkZWYgc3RvcChzZWxmKToKCQlwcmludCgnQSBzdG9wJykKCmNsYXNzIG1peGluKG9iamVjdCk6CgoJZGVmIHN0YXJ0KHNlbGYpOgoJCXN1cGVyKG1peGluLCBzZWxmKS5zdGFydCgpCgkJcHJpbnQoJ21peGluIHN0YXJ0JykKCglkZWYgc3RvcChzZWxmKToKCQlwcmludCgnbWl4aW4gc3RvcCcpCgkJc3VwZXIobWl4aW4sIHNlbGYpLnN0b3AoKQoKY2xhc3MgQihtaXhpbiwgQSk6CgoJZGVmIHN0YXJ0KHNlbGYpOgoJCXN1cGVyKEIsIHNlbGYpLnN0YXJ0KCkKCQlwcmludCgnQiBzdGFydCcpCgoJZGVmIHN0b3Aoc2VsZik6CgkJcHJpbnQoJ0Igc3RvcCcpCgkJc3VwZXIoQiwgc2VsZikuc3RvcCgpCgoKQigp