#!/usr/bin/python3
class MyMeta(type):
def __new__(mcs, name, bases, dct):
print(name + " " + str(bases))
return super(MyMeta, mcs).__new__(mcs, name, bases, dct)
class A(metaclass=MyMeta):
def foo(self):
pass
class B(A):
pass
class C(B):
def foo(self):
pass
def main():
pass
if __name__ == "__main__":
main()
IyEvdXNyL2Jpbi9weXRob24zCgpjbGFzcyBNeU1ldGEodHlwZSk6CiAgICBkZWYgX19uZXdfXyhtY3MsIG5hbWUsIGJhc2VzLCBkY3QpOgogICAgICAgIHByaW50KG5hbWUgKyAiICIgKyBzdHIoYmFzZXMpKQogICAgICAgIHJldHVybiBzdXBlcihNeU1ldGEsIG1jcykuX19uZXdfXyhtY3MsIG5hbWUsIGJhc2VzLCBkY3QpCgoKY2xhc3MgQShtZXRhY2xhc3M9TXlNZXRhKToKICAgIGRlZiBmb28oc2VsZik6CiAgICAgICAgcGFzcwoKCmNsYXNzIEIoQSk6CiAgICBwYXNzCgoKY2xhc3MgQyhCKToKICAgIGRlZiBmb28oc2VsZik6CiAgICAgICAgcGFzcwoKCmRlZiBtYWluKCk6CiAgICBwYXNzCgoKaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIG1haW4oKQoK