import functools


@functools.lru_cache(maxsize=4)
def fibonacci(num):
    print(f"Calculating fibonacci({num})")
    if num < 2:
        return num
    return fibonacci(num - 1) + fibonacci(num - 2)


fibonacci(10)
print(" \n\n")

fibonacci(8)
print(" \n\n")

fibonacci(5)
print(" \n\n")

fibonacci(8)
print(" \n\n")

fibonacci(5)
print(" \n\n")

fibonacci.cache_info()
