fibonacci dynamic programming with optimization
def Fib(n):
##Bottom up DP only storing the last two numbers
a = 0
b = 1
if n == 0:
return a
elif n == 1:
return b
else:
for i in range(2, n + 1):
c = a + b
a = b
b = c
return b
print(Fib(19))