class A:
def __init__(self, x, y):
self.n = x
self.inner = B(self, y)
def f(self):
return self.n ** 2
class B:
def __init__(self, outer, y):
self.outer = outer
self.n = y
def f(self):
return self.outer.f()
a = A(2, 3)
print((a.f(), a.inner.f()))
Y2xhc3MgQToKICAgIGRlZiBfX2luaXRfXyhzZWxmLCB4LCB5KToKICAgICAgICBzZWxmLm4gPSB4CiAgICAgICAgc2VsZi5pbm5lciA9IEIoc2VsZiwgeSkKCiAgICBkZWYgZihzZWxmKToKICAgICAgICByZXR1cm4gc2VsZi5uICoqIDIKCmNsYXNzIEI6CiAgICBkZWYgX19pbml0X18oc2VsZiwgb3V0ZXIsIHkpOgogICAgICAgIHNlbGYub3V0ZXIgPSBvdXRlcgogICAgICAgIHNlbGYubiA9IHkKCiAgICBkZWYgZihzZWxmKToKICAgICAgICByZXR1cm4gc2VsZi5vdXRlci5mKCkKCmEgPSBBKDIsIDMpCnByaW50KChhLmYoKSwgYS5pbm5lci5mKCkpKQ==