def fib_n(n):
    """Efficient way to compute Fibonacci's numbers. Complexity = O(n)"""
    fibs = [0, 1]  # we don't need to store all along the way, but the memory is still as good as in the naive alg
    for i in range(2, n + 1):
        fibs.append(fibs[-2] + fibs[-1])
    print(fibs[-1])
    return fibs[-1]