def fib_memo():
pad = {0:0, 1:1}
def sub_func(n):
if not n in pad:
pad[n] = sub_func(n-1) + sub_func(n-2)
return pad[n]
return sub_func
fm = fib_memo()
for i in range(1,31):
print(fm(i))