




from functools import lru_cache




@lru_cache
def        __SCREAMING_SNAKE_CASE (	lowercase_   )							->						Optional[Any]:

    """simple docstring"""


    if not isinstance(lowercase_       ,  lowercase_   ):
        raise TypeError('''k must be an integer.'''   )
    if k < 0:
        raise ValueError('''k integer must be greater or equal to zero.'''   )
    if k == 0:
        return 0
    elif k == 1:
        return 1
    else:
        return fibonacci(k - 1   ) + fibonacci(k - 2   )




def        __SCREAMING_SNAKE_CASE (	lowercase_       ,  lowercase_   )							->						Dict:

    """simple docstring"""


    __UpperCamelCase			=    len(lowercase_   )
    # Find m such that F_m >= n where F_i is the i_th fibonacci number.
    __UpperCamelCase			=    0
    while True:
        if fibonacci(lowercase_   ) >= len_list:
            __UpperCamelCase			=    i
            break
        i += 1
    __UpperCamelCase			=    0
    while fibb_k > 0:
        __UpperCamelCase			=    min(
            offset + fibonacci(fibb_k - 1   )       ,  len_list - 1   )  # Prevent out of range
        __UpperCamelCase			=    arr[index_k]
        if item_k_1 == val:
            return index_k
        elif val < item_k_1:
            fibb_k -= 1
        elif val > item_k_1:
            offset += fibonacci(fibb_k - 1   )
            fibb_k -= 2
    else:
        return -1


if __name__ == "__main__":
 import doctest

 doctest.testmod()













def  A_(      A ):
	if not isinstance(A					,   A ):
		UpperCAmelCase_		    =  f"""Input value of [number={number}] must be an integer"""
		raise TypeError(A )
	if number < 0 or number % 2 == 1:
		return False
	UpperCAmelCase_		    =  int(number**0.5 )
	return number == number_sqrt * (number_sqrt + 1)


if __name__ == "__main__":
				import doctest

				doctest.testmod()


