from sys import setrecursionlimit 

setrecursionlimit(40_000)
def f(n):
    if n >= 19:
        return f(n-4) + 3580
    return 6*(g(n-7) - 36)

def g(n):
    if n >= 248_045:
        return n/20 + 28
    return g(n+9) - 4

#res = f(673)
#print(res)  # 47.0   Ответ: 47  Ответ получен в версии 11

# ================================================

nn = 300_000
F = [0]*nn
G = [0]*nn
for n in range(248_045, nn):
    G[n] = n/20 + 28 

for n in range(248_045-1, 0, -1):
    G[n] = G[n+9] - 4
    
for n in range(1, nn):
    if n >= 19:
        F[n] = F[n-4] + 3580
    else:
        F[n] = 6*(G[n-7] - 36)
    
res = F[673]
print(res)    # 47 ok

