'''6.13
F(n) = 3 · (G(n − 2) + 5);
G(n) = 3 · n; если n < 8;
G(n) = G(n − 1) + 1; если n ⩾ 8:
Чему равно значение выражения F(17 654)//3?
'''

from sys import setrecursionlimit

setrecursionlimit(17654)

from functools import lru_cache

@lru_cache
def F(n):
    return 3 * (G(n - 2) + 5)

def G(n):
    if n < 8:
        return 3 * n
    return G(n - 1) + 1

res = F(17654) // 3
print (res) #ok  17671
