menu
from functools import lru_cache
@lru_cache(maxsize= 128) #cache can save up to 128 entries and optimize execution
def fib_with_cache(n): 
   if n < 2: 
       return n 
   return fib_with_cache(n-1)+ fib_with_cache(n-2)