


from __future__ import annotations







def SCREAMING_SNAKE_CASE	(			__lowerCAmelCase							,   __lowerCAmelCase = None							,   __lowerCAmelCase = None				)    ->				None:
  if start is None:
    snake_case__						= 0

  if end is None:
    snake_case__						= len(__lowerCAmelCase				) - 1

  if start >= end:
    return

  snake_case__						= (start + end) // 2

  slowsort(__lowerCAmelCase							,   __lowerCAmelCase							,   __lowerCAmelCase				)
  slowsort(__lowerCAmelCase							,   mid + 1							,   __lowerCAmelCase				)

  if sequence[end] < sequence[mid]:
    snake_case__				,				snake_case__						= sequence[mid], sequence[end]

  slowsort(__lowerCAmelCase							,   __lowerCAmelCase							,   end - 1				)


if __name__ == "__main__":
   from doctest import testmod

   testmod()









def     a_   (__A				,       __A				,       __A				,       __A      )				->						int:



					"""simple docstring"""
					__a      ,			__a					:						Any      =					len(__A      ), len(grid[0]      )
					if (
					    min(__A				,       __A      ) < 0
					    or row == row_length
					    or col == col_length
					    or (row, col) in visit
					    or grid[row][col] == 1
					):
										return 0
					if row == row_length - 1 and col == col_length - 1:
										return 1

					visit.add((row, col)      )

					__a					:						Dict      =					0
					count += depth_first_search(__A				,       row + 1				,       __A				,       __A      )
					count += depth_first_search(__A				,       row - 1				,       __A				,       __A      )
					count += depth_first_search(__A				,       __A				,       col + 1				,       __A      )
					count += depth_first_search(__A				,       __A				,       col - 1				,       __A      )

					visit.remove((row, col)      )
					return count


if __name__ == "__main__":
			import doctest

			doctest.testmod()





