



'''simple docstring'''





def __lowerCAmelCase (     SCREAMING_SNAKE_CASE_  ):
			lowercase__					  =				0
			for ch in input_str:
						lowercase__					  =				ord(SCREAMING_SNAKE_CASE_  )
						lowercase__					  =				pow(2						,  SCREAMING_SNAKE_CASE_  )

						# If we already turned on bit for current character's unicode
						if bitmap >> ch_unicode & 1 == 1:
									return False
						bitmap |= ch_bit_index_on
			return True


if __name__ == "__main__":
							import doctest

							doctest.testmod()









def __lowerCAmelCase (     SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_  ):
			lowercase__  ,       lowercase__					  =				len(SCREAMING_SNAKE_CASE_  ), len(grid[0]  )
			if (
			    min(SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_  ) < 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)  )

			lowercase__					  =				0
			count += depth_first_search(SCREAMING_SNAKE_CASE_						,  row + 1						,  SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_  )
			count += depth_first_search(SCREAMING_SNAKE_CASE_						,  row - 1						,  SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_  )
			count += depth_first_search(SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_						,  col + 1						,  SCREAMING_SNAKE_CASE_  )
			count += depth_first_search(SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_						,  col - 1						,  SCREAMING_SNAKE_CASE_  )

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


if __name__ == "__main__":
							import doctest

							doctest.testmod()




