
_UpperCAmelCase      :				Dict          = [4, 1, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
_UpperCAmelCase      :				Union[str, Any]          = [3, 7, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
_UpperCAmelCase      :				Optional[int]          = {
    0: """Sunday""",
    1: """Monday""",
    2: """Tuesday""",
    3: """Wednesday""",
    4: """Thursday""",
    5: """Friday""",
    6: """Saturday""",
}


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

		assert len(str(lowercase				)				) > 2, "year should be in YYYY format"
		assert 1 <= month <= 12, "month should be between 1 to 12"
		assert 1 <= day <= 31, "day should be between 1 to 31"

		# Doomsday algorithm:
		UpperCamelCase						=  year // 100
		UpperCamelCase						=  (5 * (century % 4) + 2) % 7
		UpperCamelCase						=  year % 100
		UpperCamelCase						=  centurian % 12
		UpperCamelCase						=  (
		    (centurian // 12) + centurian_m + (centurian_m // 4) + century_anchor
		) % 7
		UpperCamelCase						=  (
		    DOOMSDAY_NOT_LEAP[month - 1]
		    if (year % 4 != 0) or (centurian == 0 and (year % 400) == 0)
		    else DOOMSDAY_LEAP[month - 1]
		)
		UpperCamelCase						=  (dooms_day + day - day_anchor) % 7
		return WEEK_DAY_NAMES[week_day]


if __name__ == "__main__":
					import doctest

					doctest.testmod()


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()
