def factorial(n, dp):
    if n <= 1:
        return 1
    print(n)
    dp[n] = n * factorial(n - 1, dp)
    return dp


dp = [0] * 11
print(factorial(10, dp))

8da09152d91339573d1dbf8f976b21da2092f7ab
<mask token>

def factorial(n, dp):
    if n <= 1:
        return 1
    print(n)
    dp[n] = n * factorial(n - 1, dp)
    return dp


<mask token>

def factorial(n, dp):
    if n <= 1:
        return 1
    print(n)
    dp[n] = n * factorial(n - 1, dp)
    return dp


<mask token>
print(factorial(10, dp))

def factorial(n, dp):
    if n <= 1:
        return 1
    print(n)
    dp[n] = n * factorial(n - 1, dp)
    return dp


dp = [0] * 11
print(factorial(10, dp))
