






def 	lowerCamelCase__      (  lowercase    ,  lowercase					):

  """simple docstring"""






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


def 	lowerCamelCase__      (  lowercase    ,  lowercase=0					):

  """simple docstring"""






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


def 	lowerCamelCase__      (  lowercase    ,  lowercase    ,  lowercase=float("inf"					)					):

  """simple docstring"""






  for i in range(points_counts - 1					):
    for j in range(i + 1    ,  lowercase					):
      SCREAMING_SNAKE_CASE							:   Any						    =     euclidean_distance_sqr(points[i]    ,  points[j]					)
      if current_dis < min_dis:
        SCREAMING_SNAKE_CASE							:   Dict						    =     current_dis
  return min_dis


def 	lowerCamelCase__      (  lowercase    ,  lowercase    ,  lowercase=float("inf"					)					):

  """simple docstring"""






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


def 	lowerCamelCase__      (  lowercase    ,  lowercase    ,  lowercase					):

  """simple docstring"""






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

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

  SCREAMING_SNAKE_CASE							:   List[str]						    =     dis_between_closest_in_strip(
      lowercase    ,  len(lowercase					)    ,  lowercase					)
  return min(lowercase    ,  lowercase					)


def 	lowerCamelCase__      (  lowercase    ,  lowercase					):

  """simple docstring"""






  SCREAMING_SNAKE_CASE							:   Union[str, Any]						    =     column_based_sort(lowercase    ,  column=0					)
  SCREAMING_SNAKE_CASE							:   Union[str, Any]						    =     column_based_sort(lowercase    ,  column=1					)
  return (
      closest_pair_of_points_sqr(
          lowercase    ,  lowercase    ,  lowercase					)
  ) ** 0.5


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









"""simple docstring"""




def 						A							(  snake_case__     ):




			'''simple docstring'''


			SCREAMING_SNAKE_CASE__										=   1
			SCREAMING_SNAKE_CASE__										=   2
			while i * i <= n:
						SCREAMING_SNAKE_CASE__										=   0
						while n % i == 0:
									n //= i
									multiplicity += 1
						n_divisors *= multiplicity + 1
						i += 1
			if n > 1:
						n_divisors *= 2
			return n_divisors

def 						A							(  ):




			'''simple docstring'''


			SCREAMING_SNAKE_CASE__										=   1
			SCREAMING_SNAKE_CASE__										=   1

			while True:
						i += 1
						t_num += i

						if count_divisors(snake_case__     ) > 5_00:
									break

			return t_num


if __name__ == "__main__":
						print(solution())


