





from __future__ import annotations





def 							__lowerCAmelCase(					_SCREAMING_SNAKE_CASE       ,    _SCREAMING_SNAKE_CASE       ,    _SCREAMING_SNAKE_CASE       ,    _SCREAMING_SNAKE_CASE							)       ->   None:




				"""simple docstring"""




				_A, _A    =       m - 1, 0
				while i >= 0 and j < n:
								if key == mat[i][j]:
												print(F"Key {key} found at row- {i + 1} column- {j + 1}"							)
												return
								if key < mat[i][j]:
												i -= 1
								else:
												j += 1
				print(F"Key {key} not found"							)





def 							__lowerCAmelCase(					)       ->   None:




				"""simple docstring"""




				_A    =       [[2, 5, 7], [4, 8, 13], [9, 11, 15], [12, 17, 20]]
				_A    =       int(input('Enter the element to be searched:'							)							)
				print(_SCREAMING_SNAKE_CASE							)
				search_in_a_sorted_matrix(_SCREAMING_SNAKE_CASE       ,    len(_SCREAMING_SNAKE_CASE							)       ,    len(mat[0]							)       ,    _SCREAMING_SNAKE_CASE							)


if __name__ == "__main__":
	import doctest

	doctest.testmod()
	main()












from ..utils import DummyObject, requires_backends


__A       : str						    = None





def 							__lowerCAmelCase(					*_SCREAMING_SNAKE_CASE       ,    **_SCREAMING_SNAKE_CASE							)       ->   Tuple:




    """simple docstring"""




    requires_backends(_SCREAMING_SNAKE_CASE       ,    ['sentencepiece', 'tokenizers']							)





