





def        A__						(							SCREAMING_SNAKE_CASE_				,							SCREAMING_SNAKE_CASE_				,							SCREAMING_SNAKE_CASE_				,							SCREAMING_SNAKE_CASE_		) ->  int:
		lowerCamelCase :			str    		=int((lower_bound + upper_bound) // 2		)
		if array[r] == value:
				return r
		if lower_bound >= upper_bound:
				return -1
		if array[r] < value:
				return binary_search(SCREAMING_SNAKE_CASE_				,							r + 1				,							SCREAMING_SNAKE_CASE_				,							SCREAMING_SNAKE_CASE_		)
		else:
				return binary_search(SCREAMING_SNAKE_CASE_				,							SCREAMING_SNAKE_CASE_				,							r - 1				,							SCREAMING_SNAKE_CASE_		)


def        A__						(							SCREAMING_SNAKE_CASE_				,							SCREAMING_SNAKE_CASE_		) ->  list:
		lowerCamelCase :			Dict    		=0
		if matrix[index][0] == value:
				return [index, 0]
		while index < len(SCREAMING_SNAKE_CASE_		) and matrix[index][0] < value:
				lowerCamelCase :			List[Any]    		=binary_search(matrix[index]				,							0				,							len(matrix[index]		) - 1				,							SCREAMING_SNAKE_CASE_		)
				if r != -1:
						return [index, r]
				index += 1
		return [-1, -1]


if __name__ == "__main__":
				import doctest

				doctest.testmod()








import pytest

from datasets.utils.version import Version


@pytest.mark.parametrize(
    '''other, expected_equality'''				,							[
        (Version('''1.0.0'''		), True),
        ('''1.0.0''', True),
        (Version('''2.0.0'''		), False),
        ('''2.0.0''', False),
        ('''1''', False),
        ('''a''', False),
        (1, False),
        (None, False),
    ]				,							)
def        A__						(							SCREAMING_SNAKE_CASE_				,							SCREAMING_SNAKE_CASE_		) ->  Optional[int]:
		lowerCamelCase :			str    		=Version('''1.0.0'''		)
		assert (version == other) is expected_equality
		assert (version != other) is not expected_equality
		assert (hash(SCREAMING_SNAKE_CASE_		) == hash(SCREAMING_SNAKE_CASE_		)) is expected_equality

