# def firstn(n):
# num = 0
# while num < n:
# yield num
# num += 1
# a = list(firstn(10))
# print a
# b = reduce(lambda x,y:max(x,y), a)
# print 'b=',b
# sum_of_first_n = sum(firstn(10))
# print sum_of_first_n
def multipliers():
return [lambda x, i=i : i * x for i in range(4)]
print [m(2) for m in multipliers()]
IyBkZWYgZmlyc3RuKG4pOgojICAgICAgbnVtID0gMAojICAgICAgd2hpbGUgbnVtIDwgbjoKIyAgICAgICAgICB5aWVsZCBudW0KIyAgICAgICAgICBudW0gKz0gMQojIGEgPSBsaXN0KGZpcnN0bigxMCkpCiMgcHJpbnQgYQojIGIgPSByZWR1Y2UobGFtYmRhIHgseTptYXgoeCx5KSwgYSkKIyBwcmludCAnYj0nLGIKCiMgc3VtX29mX2ZpcnN0X24gPSBzdW0oZmlyc3RuKDEwKSkKIyBwcmludCBzdW1fb2ZfZmlyc3RfbiAgCmRlZiBtdWx0aXBsaWVycygpOgogICAgcmV0dXJuIFtsYW1iZGEgeCwgaT1pIDogaSAqIHggZm9yIGkgaW4gcmFuZ2UoNCldCnByaW50IFttKDIpIGZvciBtIGluIG11bHRpcGxpZXJzKCldCgogICAgCg==