






def 				snake_case__							(							UpperCAmelCase							:  int       ):
    if not isinstance(UpperCAmelCase    ,			UpperCAmelCase       ):
        lowerCAmelCase__   :str      							=				F'''Input value of [number={number}] must be an integer'''
        raise TypeError(UpperCAmelCase       )
    if number < 0:
        return False
    lowerCAmelCase__   :Dict      							=				number * number
    while number > 0:
        if number % 1_0 != number_square % 1_0:
            return False
        number //= 1_0
        number_square //= 1_0
    return True


if __name__ == "__main__":
 import doctest

 doctest.testmod()











def 				snake_case__							(							UpperCAmelCase							:  float    ,			UpperCAmelCase							:  list[float]       ):
    if discount_rate < 0:
        raise ValueError("Discount rate cannot be negative"       )
    if not cash_flows:
        raise ValueError("Cash flows list cannot be empty"       )
    lowerCAmelCase__   :List[Any]      							=				sum(
        cash_flow / ((1 + discount_rate) ** i) for i, cash_flow in enumerate(UpperCAmelCase       )       )
    return round(UpperCAmelCase    ,			ndigits=2       )


if __name__ == "__main__":
 import doctest

 doctest.testmod()



