from __future__ import annotations

from math import pi

# Define the Reduced Planck Constant ℏ (H bar), speed of light C, value of
# Pi and the function
__lowercase										= 1.0_5457_1817e-34  # unit of ℏ : J * s

__lowercase										= 3e8  # unit of c : m * s^-1



def lowerCamelCase  (       SCREAMING_SNAKE_CASE  ,      SCREAMING_SNAKE_CASE  ,      SCREAMING_SNAKE_CASE     ):
    '''simple docstring'''







    if (force, area, distance).count(0     ) != 1:
        raise ValueError('''One and only one argument must be 0'''     )
    if force < 0:
        raise ValueError('''Magnitude of force can not be negative'''     )
    if distance < 0:
        raise ValueError('''Distance can not be negative'''     )
    if area < 0:
        raise ValueError('''Area can not be negative'''     )
    if force == 0:
        __UpperCamelCase					:Tuple        =		(REDUCED_PLANCK_CONSTANT * SPEED_OF_LIGHT * pi**2 * area) / (
            240 * (distance) ** 4
        )
        return {"force": force}
    elif area == 0:
        __UpperCamelCase					:Any        =		(240 * force * (distance) ** 4) / (
            REDUCED_PLANCK_CONSTANT * SPEED_OF_LIGHT * pi**2
        )
        return {"area": area}
    elif distance == 0:
        __UpperCamelCase					:Optional[Any]        =		(
            (REDUCED_PLANCK_CONSTANT * SPEED_OF_LIGHT * pi**2 * area) / (240 * force)
        ) ** (1 / 4)
        return {"distance": distance}
    raise ValueError('''One and only one argument must be 0'''     )


# Run doctest
if __name__ == "__main__":
    import doctest

    doctest.testmod()






from __future__ import annotations



def lowerCamelCase  (       SCREAMING_SNAKE_CASE  ,      SCREAMING_SNAKE_CASE  ,      SCREAMING_SNAKE_CASE  ,      ):
    '''simple docstring'''







    if (stress, tangential_force, area).count(0     ) != 1:
        raise ValueError('''You cannot supply more or less than 2 values'''     )
    elif stress < 0:
        raise ValueError('''Stress cannot be negative'''     )
    elif tangential_force < 0:
        raise ValueError('''Tangential Force cannot be negative'''     )
    elif area < 0:
        raise ValueError('''Area cannot be negative'''     )
    elif stress == 0:
        return (
            "stress",
            tangential_force / area,
        )
    elif tangential_force == 0:
        return (
            "tangential_force",
            stress * area,
        )
    else:
        return (
            "area",
            tangential_force / stress,
        )


if __name__ == "__main__":
    import doctest

    doctest.testmod()





