
"""simple docstring"""







def   __UpperCamelCase   (					SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE )  ->     Tuple:







							"""simple docstring"""


							__snake_case     			=       [1]
							for i in range(2							,    SCREAMING_SNAKE_CASE ):
														factorials.append(factorials[-1] * i )
							assert 0 <= k < factorials[-1] * n, "k out of bounds"

							__snake_case     			=       []
							__snake_case     			=       list(range(SCREAMING_SNAKE_CASE ) )

							# Find permutation
							while factorials:
														__snake_case     			=       factorials.pop()
														__snake_case			,   __snake_case     			=       divmod(SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE )
														permutation.append(elements[number] )
														elements.remove(elements[number] )
							permutation.append(elements[0] )

							return permutation


if __name__ == "__main__":
		import doctest

		doctest.testmod()


"""simple docstring"""







def   __UpperCamelCase   (					SCREAMING_SNAKE_CASE = 10							,    SCREAMING_SNAKE_CASE = 10_00							,    SCREAMING_SNAKE_CASE = True )  ->     int:







							"""simple docstring"""


							assert (
							    isinstance(SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE )
							    and isinstance(SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE )
							    and isinstance(SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE )
							), "Invalid type of value(s) specified to function!"

							if min_val > max_val:
														raise ValueError("Invalid value for min_val or max_val (min_value < max_value)" )
							return min_val if option else max_val
def   __UpperCamelCase   (					SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE )  ->     int:







							"""simple docstring"""


							return int((number_a + number_a) / 2 )
def   __UpperCamelCase   (					SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE )  ->     None:







							"""simple docstring"""


							assert (
							    isinstance(SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE ) and isinstance(SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE ) and isinstance(SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE )
							), 'argument values must be type of "int"'

							if lower > higher:
														raise ValueError("argument value for lower and higher must be(lower > higher)" )

							if not lower < to_guess < higher:
														raise ValueError(
														    "guess value must be within the range of lower and higher value" )

							def answer(SCREAMING_SNAKE_CASE ) -> str:
														if number > to_guess:
																					return "high"
														elif number < to_guess:
																					return "low"
														else:
																					return "same"

							print("started..." )

							__snake_case     			=       lower
							__snake_case     			=       higher

							__snake_case     			=       []

							while True:
														__snake_case     			=       get_avg(SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE )
														last_numbers.append(SCREAMING_SNAKE_CASE )

														if answer(SCREAMING_SNAKE_CASE ) == "low":
																					__snake_case     			=       number
														elif answer(SCREAMING_SNAKE_CASE ) == "high":
																					__snake_case     			=       number
														else:
																					break

							print(F'''guess the number : {last_numbers[-1]}''' )
							print(F'''details : {last_numbers!s}''' )
def   __UpperCamelCase   (					)  ->     None:







							"""simple docstring"""


							__snake_case     			=       int(input("Enter lower value : " ).strip() )
							__snake_case     			=       int(input("Enter high value : " ).strip() )
							__snake_case     			=       int(input("Enter value to guess : " ).strip() )
							guess_the_number(SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE							,    SCREAMING_SNAKE_CASE )


if __name__ == "__main__":
		main()
