
def cfR(n):
    print(f'Computing the factoral of {n}')
    if n == 0:
        print('returning 1')
        return 1
    else:
        temp = n * cfR(n-1)
        print(f'returning {temp}')
        return temp


num = 4
answer = cfR(num)

print(f'factorial of {num} is {answer}')


def fib(n):
    # we assume n >= 0
    print(f'Computing fib({n})')
    if n == 0:
        print(f'returning 0')
        return 0
    elif n == 1:
        print(f'returning 1')
        return 1
    else:
        temp = fib(n-1) + fib(n-2)
        print(f'returning {temp}')
        return temp

idx = 3
answer = fib(idx)
print(f'The {idx}th fibonacci number is {answer}')
