def F_0(n):
    return n+3

def F_1(n):
    if n >= 7:
        return 4
    # else implícito
    return F_1(n-5)

def F_2(n):
    if n== 0:
        return 1
    return n*F_2(n-1)

def F_3(n):
    if n <= 7:
        return 4
    return F_3(n+5)

def F_4(n):
    if n <= 7:
        return 4
    return F_4(n-5)

def F_5(n):
    if n >= 7:
        return 4
    return F_5(n+5)

def F_6(n):
    if n <= 1:
        return n
    return F_6(n-1) + F_6(n-2)

fibo = F_6

def F_7(n):
    if n >= 100:
        return 10
    return 3 + 2*F_7(n+14)

def F_8(n):
    if n <= 1:
        return 0
    if n %2 == 0:
        return 2 + F_8(n // 2)
    return 3 + F_8(n + 15)

def C(n, debug=False, cont=0):
    if debug:
        print(f"{cont}. Quero C({n})")
    if n <= 1:
        return 1
    if n%2 == 0:
        return C(n//2, debug, cont+1)
    return C(3*n + 1, debug, cont+1)
