
def    A (      )     ->						str:
		'''simple docstring'''

		for n in range(1					, 1_000_000				):
				yield n * (n + 1) // 2


def    A (      lowercase				)     ->						List[Any]:
		'''simple docstring'''

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


def    A (      )     ->						Any:
		'''simple docstring'''

		return next(i for i in triangle_number_generator() if count_divisors(lowercase				) > 500				)


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


from collections.abc import Callable


def    A (      lowercase					, lowercase					, lowercase				)     ->						float:
		'''simple docstring'''

		UpperCamelCase						=  a
		UpperCamelCase						=  b
		if function(lowercase				) == 0:  # one of the a or b is a root for the function
				return a
		elif function(lowercase				) == 0:
				return b
		elif (
		    function(lowercase				) * function(lowercase				) > 0
		):  # if none of these are root and they are both positive or negative,
				# then this algorithm can't find the root
				raise ValueError('could not find root in given interval.'				)
		else:
				UpperCamelCase						=  start + (end - start) / 2.0
				while abs(start - mid				) > 10**-7:  # until precisely equals to 10^-7
						if function(lowercase				) == 0:
								return mid
						elif function(lowercase				) * function(lowercase				) < 0:
								UpperCamelCase						=  mid
						else:
								UpperCamelCase						=  mid
						UpperCamelCase						=  start + (end - start) / 2.0
				return mid


def    A (      lowercase				)     ->						float:
		'''simple docstring'''

		return x**3 - 2 * x - 5


if __name__ == "__main__":
					print(bisection(f, 1, 1_000))

					import doctest

					doctest.testmod()
