

from __future__ import annotations



def 				snake_case_(_UpperCamelCase			,	_UpperCamelCase			,	_UpperCamelCase			,	)							->     tuple:



  """simple docstring"""






  if (electron_conc, hole_conc, intrinsic_conc).count(0					) != 1:
    raise ValueError('''You cannot supply more or less than 2 values'''					)
  elif electron_conc < 0:
    raise ValueError('''Electron concentration cannot be negative in a semiconductor'''					)
  elif hole_conc < 0:
    raise ValueError('''Hole concentration cannot be negative in a semiconductor'''					)
  elif intrinsic_conc < 0:
    raise ValueError(
        '''Intrinsic concentration cannot be negative in a semiconductor'''					)
  elif electron_conc == 0:
    return (
        "electron_conc",
        intrinsic_conc**2 / hole_conc,
    )
  elif hole_conc == 0:
    return (
        "hole_conc",
        intrinsic_conc**2 / electron_conc,
    )
  elif intrinsic_conc == 0:
    return (
        "intrinsic_conc",
        (electron_conc * hole_conc) ** 0.5,
    )
  else:
    return (-1, -1)


if __name__ == "__main__":
 import doctest

 doctest.testmod()




def 				snake_case_(_UpperCamelCase			,	_UpperCamelCase					)							->     str:



  """simple docstring"""






  if a < 0 or b < 0:
    raise ValueError('''the value of both inputs must be positive'''					)
  _snake_case						=							str(bin(_UpperCamelCase					)					)[2:]  # remove the leading "0b"
  _snake_case						=							str(bin(_UpperCamelCase					)					)[2:]
  _snake_case						=							max(len(_UpperCamelCase					)			,	len(_UpperCamelCase					)					)
  return "0b" + "".join(
      str(int('''1''' in (char_a, char_b)					)					)
      for char_a, char_b in zip(a_binary.zfill(_UpperCamelCase					)			,	b_binary.zfill(_UpperCamelCase					)					)					)


if __name__ == "__main__":
 import doctest

 doctest.testmod()

