"""练习 5 进阶版：直接将递归调用写在乘法表达式中。"""
def factorial_recursive(n):
    if n <= 1:
        return 1
    return n * factorial_recursive(n - 1)


def factorial_iterative(n):
    result = 1
    for value in range(2, n + 1):
        result *= value
    return result


n = int(input())
if n < 0:
    print("n must be non-negative")
else:
    print("recursive:", factorial_recursive(n))
    print("iterative:", factorial_iterative(n))
