



'''simple docstring'''






from __future__ import annotations

lowerCAmelCase:      Optional[int]		 =		1.6_021e-19  # units = C
def    lowerCamelCase__ (		_A				,    _A				,    _A				,    ):




  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__ (		_A = 6008_5147_5143       ):

  try:
    a		:      Optional[int]       =  int(_A       )
  except (TypeError, ValueError):
    raise TypeError('Parameter n must be int or castable to int.'       )
  if n <= 0:
    raise ValueError('Parameter n must be greater than or equal to one.'       )
  a		:      Any       =  1
  a		:      Union[str, Any]       =  2
  while i * i <= n:
    while n % i == 0:
      a		:      str       =  i
      n //= i
    i += 1
  if n > 1:
    a		:      Any       =  n
  return int(_A       )


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