





def 				lowerCAmelCase_ (							A_    ,A_    ,A_):

    if exponent == 1:
        return base
    if exponent % 2 == 0:
        UpperCamelCase__:	Union[str, Any]					=     _modexpt(A_    ,exponent // 2    ,A_) % modulo_value
        return (x * x) % modulo_value
    else:
        return (base * _modexpt(A_    ,exponent - 1    ,A_)) % modulo_value



def 				lowerCAmelCase_ (							A_ = 17_77    ,A_ = 18_55    ,A_ = 8):
    UpperCamelCase__:	str					=     base
    for _ in range(1    ,A_):
        UpperCamelCase__:	List[Any]					=     _modexpt(A_    ,A_    ,10**digits)

    return result


if __name__ == "__main__":
   print(f"{solution() = }")








from __future__ import annotations

from collections import namedtuple



def 				lowerCAmelCase_ (							A_    ,A_    ,A_):
    UpperCamelCase__:	List[str]					=     namedtuple("result"    ,"name value")
    if (voltage, current, power).count(0) != 1:
        raise ValueError("Only one argument must be 0")
    elif power < 0:
        raise ValueError(
            "Power cannot be negative in any electrical/electronics system")
    elif voltage == 0:
        return result("voltage"    ,power / current)
    elif current == 0:
        return result("current"    ,power / voltage)
    elif power == 0:
        return result("power"    ,float(round(abs(voltage * current)    ,2)))
    else:
        raise ValueError("Exactly one argument must be 0")


if __name__ == "__main__":
   import doctest

   doctest.testmod()

