





def 	lowerCAmelCase_					(			__a      ,       __a						)	->						Union[str, Any]:







  """simple docstring"""





  return (pointa[0] - pointa[0]) ** 2 + (pointa[1] - pointa[1]) ** 2





def 	lowerCAmelCase_					(			__a      ,       __a=0						)	->						Union[str, Any]:







  """simple docstring"""





  return sorted(__a      ,       key=lambda __a						: x[column]						)





def 	lowerCAmelCase_					(			__a      ,       __a      ,       __a=float("inf"						)						)	->						Dict:







  """simple docstring"""





  for i in range(points_counts - 1						):
    for j in range(i + 1      ,       __a						):
      lowerCamelCase__: List[str]         =euclidean_distance_sqr(points[i]      ,       points[j]						)
      if current_dis < min_dis:
        lowerCamelCase__: List[Any]         =current_dis
  return min_dis





def 	lowerCAmelCase_					(			__a      ,       __a      ,       __a=float("inf"						)						)	->						List[str]:







  """simple docstring"""





  for i in range(min(6      ,       points_counts - 1						)      ,       __a						):
    for j in range(max(0      ,       i - 6						)      ,       __a						):
      lowerCamelCase__: Union[str, Any]         =euclidean_distance_sqr(points[i]      ,       points[j]						)
      if current_dis < min_dis:
        lowerCamelCase__: List[Any]         =current_dis
  return min_dis





def 	lowerCAmelCase_					(			__a      ,       __a      ,       __a						)	->						Optional[Any]:







  """simple docstring"""





  if points_counts <= 3:
    return dis_between_closest_pair(__a      ,       __a						)

  # recursion
  lowerCamelCase__: Tuple         =points_counts // 2
  lowerCamelCase__: Optional[int]         =closest_pair_of_points_sqr(
      __a      ,       points_sorted_on_y[:mid]      ,       __a						)
  lowerCamelCase__: Optional[int]         =closest_pair_of_points_sqr(
      __a      ,       points_sorted_on_y[mid:]      ,       points_counts - mid						)
  lowerCamelCase__: str         =min(__a      ,       __a						)
  lowerCamelCase__: Any         =[]
  for point in points_sorted_on_x:
    if abs(point[0] - points_sorted_on_x[mid][0]						) < closest_pair_dis:
      cross_strip.append(__a						)

  lowerCamelCase__: int         =dis_between_closest_in_strip(
      __a      ,       len(__a						)      ,       __a						)
  return min(__a      ,       __a						)





def 	lowerCAmelCase_					(			__a      ,       __a						)	->						List[str]:







  """simple docstring"""





  lowerCamelCase__: Any         =column_based_sort(__a      ,       column=0						)
  lowerCamelCase__: List[Any]         =column_based_sort(__a      ,       column=1						)
  return (
      closest_pair_of_points_sqr(
          __a      ,       __a      ,       __a						)
  ) ** 0.5


if __name__ == "__main__":
     __A							   =							[(2, 3), (12, 30), (40, 50), (5, 1), (12, 10), (3, 4)]
     print("Distance:", closest_pair_of_points(points, len(points)))



"""simple docstring"""






UpperCAmelCase        =				8.3_144_598




def __magic_name__	(				_lowerCamelCase:		float,					_lowerCamelCase:		float			)					->						float:

	'''simple docstring'''




	if temperature < 0:
		raise Exception('''Temperature cannot be less than 0 K'''			)
	if molar_mass <= 0:
		raise Exception('''Molar mass cannot be less than or equal to 0 kg/mol'''			)
	else:
		return (3 * UNIVERSAL_GAS_CONSTANT * temperature / molar_mass) ** 0.5


if __name__ == "__main__":
					import doctest

					# run doctest
					doctest.testmod()

					# example
					UpperCAmelCase        =				3_0_0
					UpperCAmelCase        =				2_8
					UpperCAmelCase        =				rms_speed_of_molecule(temperature, molar_mass)
					print(f"""Vrms of Nitrogen gas at 300 K is {vrms} m/s""")


