

from __future__ import annotations

lowercase_             =     1.6_021e-19  # units = C
def   a   (    A__			:     float   ,     A__			:     float   ,     A__			:     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()





from math import pow, sqrt
def   a   (    *A__			:     float  )					->   bool:





      """simple docstring"""



      _lowercase			 =len(A__  ) > 0 and all(value > 0.0 for value in values  )
      return result
def   a   (    A__			:     float   ,     A__			:     float  )					->   float | ValueError:





      """simple docstring"""



      return (
          round(sqrt(molar_mass_a / molar_mass_a  )   ,     6  )
          if validate(A__   ,     A__  )
          else ValueError('Input Error: Molar mass values must greater than 0.'  )
      )
def   a   (    A__			:     float   ,     A__			:     float   ,     A__			:     float  )					->   float | ValueError:





      """simple docstring"""



      return (
          round(effusion_rate * sqrt(molar_mass_a / molar_mass_a  )   ,     6  )
          if validate(A__   ,     A__   ,     A__  )
          else ValueError(
              'Input Error: Molar mass and effusion rate values must greater than 0.'  )
      )
def   a   (    A__			:     float   ,     A__			:     float   ,     A__			:     float  )					->   float | ValueError:





      """simple docstring"""



      return (
          round(effusion_rate / sqrt(molar_mass_a / molar_mass_a  )   ,     6  )
          if validate(A__   ,     A__   ,     A__  )
          else ValueError(
              'Input Error: Molar mass and effusion rate values must greater than 0.'  )
      )
def   a   (    A__			:     float   ,     A__			:     float   ,     A__			:     float  )					->   float | ValueError:





      """simple docstring"""



      return (
          round(molar_mass / pow(effusion_rate_a / effusion_rate_a   ,     2  )   ,     6  )
          if validate(A__   ,     A__   ,     A__  )
          else ValueError(
              'Input Error: Molar mass and effusion rate values must greater than 0.'  )
      )







def   a   (    A__			:     float   ,     A__			:     float   ,     A__			:     float  )					->   float | ValueError:





      """simple docstring"""



      return (
          round(pow(effusion_rate_a / effusion_rate_a   ,     2  ) / molar_mass   ,     6  )
          if validate(A__   ,     A__   ,     A__  )
          else ValueError(
              'Input Error: Molar mass and effusion rate values must greater than 0.'  )
      )


