def closure(x):
def inner():
return x
return inner
def outer(n):
res = []
for i in range(n):
res.append(closure(i))
return res
for f in outer(3):
print(f())
ZGVmIGNsb3N1cmUoeCk6CiAgICBkZWYgaW5uZXIoKToKICAgICAgICByZXR1cm4geAogICAgcmV0dXJuIGlubmVyCgpkZWYgb3V0ZXIobik6CiAgICByZXMgPSBbXQogICAgZm9yIGkgaW4gcmFuZ2Uobik6CiAgICAgICAgcmVzLmFwcGVuZChjbG9zdXJlKGkpKQogICAgcmV0dXJuIHJlcwoKZm9yIGYgaW4gb3V0ZXIoMyk6CiAgICBwcmludChmKCkp