def METHOD_NAME(
    base_length: U256,
    modulus_length: U256,
    exponent_length: U256,
    exponent_head: Uint,
) -> Uint:
    """
    Calculate the gas cost of performing a modular exponentiation.
    Parameters
    ----------
    base_length :
        Length of the array representing the base integer.
    modulus_length :
        Length of the array representing the modulus integer.
    exponent_length :
        Length of the array representing the exponent integer.
    exponent_head :
        First 32 bytes of the exponent (with leading zero padding if it is
        shorter than 32 bytes), as an unsigned integer.
    Returns
    -------
    gas_cost : `Uint`
        Gas required for performing the operation.
    """
    multiplication_complexity = complexity(base_length, modulus_length)
    iteration_count = iterations(exponent_length, exponent_head)
    cost = multiplication_complexity * iteration_count
    cost //= GQUADDIVISOR
    return max(Uint(200), cost)