-- Calculate the factorial of a number
function factorial(n)
    if n == 0 then         -- Base case: factorial of 0 is 1
        return 1
    else
        return n * factorial(n - 1)  -- Recursive call for factorial calculation
    end
end

-- Generate a Fibonacci sequence up to n terms
function fibonacci(n)
    local a, b = 0, 1
    local sequence = {}
    for i = 1, n do
        table.insert(sequence, a)  -- Add current Fibonacci number to sequence
        local temp = a + b         -- Calculate next Fibonacci number
        a = b
        b = temp
    end
    return sequence
end

-- Print the factorial of 5 and Fibonacci sequence up to 10 terms
_Print_Console("Factorial of 5: " .. factorial(5))
_Print_Console("Fibonacci sequence up to 10 terms: " .. table.concat(fibonacci(10), ", "))