# problem2solution.py
#
# ICS H32 Fall 2025
# Exercise Set 8
# INSTRUCTOR SOLUTION

import math



def zero_calc(n):
    return 0


def square_calc(n):
    return n * n


def cube_calc(n):
    return n * n * n


def length_calc(n):
    return len(n)


def square_root_calc(n):
    return math.sqrt(n)


def make_multiply_by_calc(multiplier):
    def multiply_by_calc(n):
        return n * multiplier

    return multiply_by_calc


def int_calc(n):
    return int(n)


def call_calc(n):
    return n()


def make_in_calc(search):
    def in_calc(n):
        return search in n

    return in_calc


def run_calcs(calcs, starting_value):
    current_value = starting_value

    for calc in calcs:
        current_value = calc(current_value)

    return current_value
