import operator




def        lowerCAmelCase_			(					__A,  __A = False,  __A = None							)					->    list:







						'''simple docstring'''


						UpperCAmelCase__								=  operator.lt if reverse else operator.gt
						UpperCAmelCase__								=  solution or []

						if not arr:
												return solution

						UpperCAmelCase__								=  [arr.pop(0							)]
						for i, item in enumerate(__A							):
												if _operator(__A,  sublist[-1]							):
																		sublist.append(__A							)
																		arr.pop(__A							)

    #  merging sublist into solution list
						if not solution:
												solution.extend(__A							)
						else:
												while sublist:
																		UpperCAmelCase__								=  sublist.pop(0							)
																		for i, xx in enumerate(__A							):
																								if not _operator(__A,  __A							):
																														solution.insert(__A,  __A							)
																														break
																		else:
																								solution.append(__A							)

						strand_sort(__A,  __A,  __A							)
						return solution


if __name__ == "__main__":
						assert strand_sort([4, 3, 5, 1, 2]) == [1, 2, 3, 4, 5]
						assert strand_sort([4, 3, 5, 1, 2], reverse=True) == [5, 4, 3, 2, 1]




from __future__ import annotations




def        lowerCAmelCase_			(					__A,  __A,  __A,  )					->    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()



