def factorial_iterative(n: int) -> int {
result: int = 1
i: int = 1
while i <= n {
result = result * i
i = i + 1
}
return result
}
def sum_to_n(n: int) -> int {
sum: int = 0
i: int = 0
while i <= n {
sum += i
i += 1
}
return sum
}
def fibonacci_iterative(n: int) -> int {
if n <= 1 {
return n
}
a: int = 0
b: int = 1
i: int = 2
while i <= n {
temp: int = a + b
a = b
b = temp
i += 1
}
return b
}
def gcd(a: int, b: int) -> int {
while b != 0 {
temp: int = b
b = a % b
a = temp
}
return a
}
def main() -> int {
fact5: int = factorial_iterative(5)
sum10: int = sum_to_n(10)
fib10: int = fibonacci_iterative(10)
gcd_result: int = gcd(48, 18)
return fact5 + sum10 + fib10 + gcd_result
}