





"""simple docstring"""



from __future__ import annotations

a_ =			1.6_0_2_1e-1_9  # units = C







def 		__lowercase     (   snake_case_  :  float				,snake_case_  :  float				,snake_case_  :  float				,)   ->tuple[str, float]:



    '''simple docstring'''







    if (conductivity, electron_conc, mobility).count(0						) != 1:
        raise ValueError('''You cannot supply more or less than 2 values'''						)
    elif conductivity < 0:
        raise ValueError('''Conductivity cannot be negative'''						)
    elif electron_conc < 0:
        raise ValueError('''Electron concentration cannot be negative'''						)
    elif mobility < 0:
        raise ValueError('''mobility cannot be negative'''						)
    elif conductivity == 0:
        return (
            "conductivity",
            mobility * electron_conc * ELECTRON_CHARGE,
        )
    elif electron_conc == 0:
        return (
            "electron_conc",
            conductivity / (mobility * ELECTRON_CHARGE),
        )
    else:
        return (
            "mobility",
            conductivity / (electron_conc * ELECTRON_CHARGE),
        )


if __name__ == "__main__":
       import doctest

       doctest.testmod()





'''simple docstring'''





def 	lowerCAmelCase_				(					snake_case_       : int					,    snake_case_       : int			)    ->      int:


     '''simple docstring'''




     return x if y == 0 else greatest_common_divisor(snake_case_					,    x % y			)





def 	lowerCAmelCase_				(					snake_case_       : int					,    snake_case_       : int			)    ->      int:


     '''simple docstring'''




     return (x * y) // greatest_common_divisor(snake_case_					,    snake_case_			)





def 	lowerCAmelCase_				(					snake_case_       : int = 20			)    ->      int:


     '''simple docstring'''




     UpperCAmelCase_           =   1
     for i in range(1					,    n + 1			):
          UpperCAmelCase_           =   lcm(snake_case_					,    snake_case_			)
     return g


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




